我有两个非常简单的MySQL表: Table1 ,其中包含唯一item_id列表,第二个 Table2 ,其中包含使用项ID的记录构成第一个表。 表2 还包含记录的制作日期。这里回顾一下表格的样子:
表1 列: item_id < ---这些是唯一ID
表2 列: item_id,item_title,time_stamp
我需要的是一个MySQL查询,它会给我一个列表,其中包含 Table2 中每个item_id的第一个和最后一个记录的日期。 Table2 必须只查看表1中的item_id,因为 Table2 包含 Table1 中未包含的item_id。换句话说,我正在使用 Table1 进行基于item_id的排序。 非常感谢您的帮助。
答案 0 :(得分:3)
SELECT t2.item_id, MIN(t2.time_stamp), MAX(t2.time_stamp)
FROM table2 t2
JOIN table1 t1
ON t1.item_id = t2.item_id
GROUP BY
t1.item_id
ORDER BY
t1.ordering_column
在MySQL
中,您可以在SELECT
和ORDER BY
中使用未分组和未分页的表达式。
答案 1 :(得分:0)
select item_id, maxts.ts, mints.ts
from (select item_id, max(time_stamp) as ts from Table2 group by item_id) maxts
join (select item_id, min(time_stamp) from Table2 group by item_id) mints on maxts.item_id=mints.item_id
join Table1.item_id t1 on t1.item_id=mints.item_id;