我在上一个问题中得到了这个SQL作为答案,但我在解释查询时没有得到任何回应。所以我在这里问。 我之前的问题:How can i remove the oldest entries in my SQL result?
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)
答案 0 :(得分:1)
以下子查询是返回最大创建结果(我认为它是日期列,因此最后创建的日期将返回)
select max(created)
from reports as b
where a.item_id = b.item_id
根据报表中的结果,create column匹配该值并返回结果。 以下行与两个表item_id列匹配。
where a.item_id = b.item_id
答案 1 :(得分:0)
您有一个名为reports
的表格,您正在提取一个由id
,user
,item_id
和created
字段组成的表格。此新表格中只有包含每个不同created
的最大值item_id
的行。
此部分提取您想要的字段:
select a.id,
a.user,
a.item_id,
a.created
来自名为reports(a)的表:
from reports as a
仅提取满足条件的行:
where a.created = (select max(created)
from reports as b
where a.item_id = b.item_id)