【发布时间】:2013-01-20 22:52:11
【问题描述】:
我的表格包含用户对不同项目的投票。它有以下字段:
id, user_id, item_id, vote, utc_time
我了解如何为 #item# 获得 #user# 的最后一票,但它使用子查询:
SELECT votes.*, items.name, items.price
FROM votes JOIN items ON items.id = votes.item_id
WHERE user_id = #user# AND item_id = #item#
AND utc_time = (
SELECT MAX(utc_time) FROM votes
WHERE user_id = #user# AND item_id = #item#
)
它有效,但对我来说看起来很愚蠢......应该有一种更优雅的方式来获得这个记录。我尝试了这里建议的方法,但我还不能让它工作,所以我会感谢你的帮助:How can I SELECT rows with MAX(Column value), DISTINCT by another column in SQL?
这个问题还有第二部分:Count rows with DISTINCT(several columns) and MAX(another column)
【问题讨论】: