【发布时间】:2012-05-08 14:51:47
【问题描述】:
我知道这个问题已经有了一些解决方案,但它们似乎对我不起作用。
我想在我的数据库中选择每个用户每天的最后一条记录。我有一个数据库,可以按国家/地区存储用户的位置,并且可以追溯到第二个。
我尝试运行的选择查询是:
SELECT MAX(date), id, country FROM dk_location_records WHERE userid = '10'
AND (date > '2012-04-06 00:00:00' AND date < '2012-05-08 23:59:59')
AND active = '1' GROUP BY DATE(date) ORDER BY date ASC
但是,这实际上是向我显示每天的最后日期,而不是正确对应的 id 和 country。它实际上得到了第一个 id 和 country,以及最后一个 date。
我做错了什么?
帮助不胜感激!
谢谢,
杰克
【问题讨论】:
-
对于给定的用户,是否可以有多个具有相同时间戳的记录?
-
您能否确认您不希望每个用户有很多记录,只需要每个用户的最后一个条目。基本上是“用户 X 最后在哪里”。下面的几个答案似乎是误解。
-
Devart 的解决方案正是我所追求的。我想要任何给定用户每天的最后一个条目。因此,对于 ID 为 10 的用户,我想知道自 4 月 6 日以来每天结束时他们的位置。谢谢。