我知道这个问题已经有了一些解决方案,但它们似乎对我不起作用.
我想在每个用户的数据库中选择每天的最后一条记录.我有一个数据库,按国家和日期存储用户的位置到第二个.
我正在尝试运行的选择查询是:
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
Run Code Online (Sandbox Code Playgroud)
然而,这实际上做的是向我显示每天的最后日期,但不是正确对应id和country.它实际上是第一个,id并且country与最后一个一起date.
我究竟做错了什么?
非常感谢!
谢谢,
插口
Dev*_*art 10
尝试此查询以显示每个用户每天的最后记录, -
SELECT t1.* FROM dk_location_records t1
JOIN (SELECT DATE(date) date_date, userid, MAX(date) max_date
FROM dk_location_records
GROUP BY date_date, userid
) t2
ON t1.date = t2.max_date AND t1.userid = t2.userid;
Run Code Online (Sandbox Code Playgroud)
...如果需要,添加您的WHERE条件.
| 归档时间: |
|
| 查看次数: |
8973 次 |
| 最近记录: |