我现在有用于存储Instagram详细信息的下表我想查找日期最大的所有记录。
Table: instagrammer_recent_statistic
id instagram_id comments_count likes_count created_date
---- ------------ -------------- ----------- ------------
8900 481959735 19 92 2015-11-18 09:46:15
8899 481959735 10 25 2015-11-18 09:46:14
8898 481959735 25 57 2015-11-18 09:46:13
8997 481959735 35 74 2015-11-17 09:46:15
8896 481959735 09 49 2015-11-17 09:46:14
8895 481959735 48 16 2015-11-17 09:46:13
8994 481959735 44 42 2015-11-16 09:46:15
8893 481959735 13 17 2015-11-16 09:46:14
8892 481959735 53 34 2015-11-16 09:46:13
我想获得最新的日期记录:
id instagram_id comments_count likes_count created_date
---- ------------ -------------- ----------- ------------
8900 481959735 19 92 2015-11-18 09:46:15
8899 481959735 10 25 2015-11-18 09:46:14
8898 481959735 25 57 2015-11-18 09:46:13
我已尝试使用此查询但未正常工作并获得所有结果:(
SELECT *
FROM instagrammer_recent_statistic
WHERE instagram_id = '481959735' AND
created_date IN (
SELECT MAX( created_date )
FROM instagrammer_recent_statistic
GROUP BY created_date
)
ORDER BY id DESC;
答案 0 :(得分:2)
您的原始查询是将每个created_date
时间戳与最大时间戳进行比较。这仅适用于巧合具有最大时间戳的记录。在下面的查询中,我将每个created_date
的天与最长时间戳中的天进行比较。
SELECT *
FROM instagrammer_recent_statistic
WHERE instagram_id = '481959735' AND
DAY(created_date) = (
SELECT DAY(MAX( created_date )) FROM instagrammer_recent_statistic
)
ORDER BY id DESC;
使用您的示例数据点击以下链接,查看此查询的正在运行的演示。