【发布时间】:2013-01-20 23:11:08
【问题描述】:
我的表格包含用户对不同项目的投票。它有以下列:
id, user_id, item_id, vote, utc_time
只有 id 是唯一字段,user_id 和 utc_time 的组合可能也是唯一的。但用户可以多次为任何项目投票。
投票不是一个数字,而是具有几个可能值之一(例如,“糟糕”、“糟糕”、“好”、“优秀”)。
我需要计算有多少不同的用户对给定 #item# 投了最后一票,如“优秀”、“好”等。所以假设我只有四个不同的可能投票值,我需要得到四条记录,字段如下:
vote, count_of_users
我了解如何计算所有选票,而不仅仅是用户的最后一票:
SELECT vote, COUNT(id) FROM votes WHERE item_id=#item# GROUP BY vote;
但我不知道如何只计算每个用户的 utc_time = MAX(utc_time) 的票数...感谢您的帮助。
这个问题和我上一个问题有关:Select one row with MAX(column) for known other several columns without subquery
【问题讨论】: