我的表包含用户对不同项目的投票。它具有以下列:
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