user_id | user_destination | user_date_out | user_date_in | user_purpose | uid
0095 | NYC | 2010-11-25 | 2010-11-26 | Work | 1
0105 | Seattle | 2010-11-15 | 2010-11-20 | Work | 2
0095 | Home | 2010-11-10 | 2010-11-11 | Personal | 3
| Nashville | 2010-11-10 | 2010-11-12 | Doctober | 4
我在MySQL表中有上述数据。如果它是该user_id的最新user_date_out,我需要一个将输出该行的查询。很难解释,但应通过查询显示的行是uid 2,3和4(UID 1会因为user_date_out比同一用户的UID 3“旧”而下降)。谁能帮我这个?提前致谢!MySQL查询帮助(半独特结果)
编辑:我解决它通过使用以下查询:
SELECT *
FROM `table`
WHERE `uid` = (
SELECT `uid`
FROM `table` as `alt`
WHERE `alt`.`user_id` = `table`.`user_id`
ORDER BY `user_date_out`
LIMIT 1
)
ORDER BY `user_date_out`
发现这:http://stackoverflow.com/questions/924494/mysql-group-by-ordering – krx 2010-11-10 23:06:28
@ krio,这有帮助!我删除了最后的“限制3”,并从命令中删除了DESC,并且我得到了我需要的结果!感谢你的帮助! – Trevor 2010-11-10 23:14:29
@krio - 你可以在这里将答案粘贴到答案中吗? – warren 2010-11-10 23:23:40