- 一、问题
GROUP BY分组后取最新时间的一条记录的SQL的解决方案。
- 二、解决方案
- 首先对资源表数据进行排序(多表)
SELECT
a1.*,
a2.a2id
FROM
table1 a1
LEFT JOIN table2 a2
ON a1.a1id = a2.a2id
WHERE a1.time
ORDER BY a1.time desc
- 然后组合以上SQL生成的临时表进行嵌套查询(多表)
SELECT
w.*
FROM
(
SELECT
a1.*,
a2.a2id
FROM
table1 a1
LEFT JOIN table2 a2
ON a1.a1id = a2.a2id
WHERE a1.a1time
ORDER BY a1.a1time desc
) w
GROUP BY w.a1id