我只想获取所有项目的最新报告,但只获取每个 item_id
的最新报告。
这是我目前的解决方案:
SELECT distinct * FROM t.reports ORDER BY created DESC LIMIT 100
我的表由以下列组成:
id | user | item_id | created
'2', '1', '2643', '2017-06-13 16:28:34'
'3', '1', '19333', '2017-06-13 19:26:56'
'4', '1', '19333', '2017-06-13 19:29:24'
'5', '1', '1319', '2017-06-13 19:29:56'
'6', '1', '1319', '2017-06-13 19:30:16'
'7', '1', '1319', '2017-06-13 19:30:17'
'8', '1', '1319', '2017-06-13 19:30:18'
'9', '1', '1319', '2017-06-13 19:30:25'
'10','1', '1319', '2017-06-13 19:31:51'
我不想要重复的 item_ids 并且只想要该项目的最新条目。 但我也想要所有报告,但没有重复的项目报告!
例子: 我希望当我执行查询时,我只返回第 2、4 和 10 行。
最佳答案
试试这个:
select a.id,a.user,a.item_id,a.created
from reports as a
where a.created=(select max(created)
from reports as b
where a.item_id=b.item_id)
关于php - 如何删除 SQL 结果中最旧的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44543764/