分组顺序按最新排序
问题描述:
我想按编号顺序按开始时间排序(最新一行)。分组顺序按最新排序
数据:
begintime id type created_at
2012-12-13 01:00:00 1 type1 2012-12-01 11:39:47
2012-12-13 00:00:00 1 type2 2012-12-02 00:29:10
2012-12-13 03:00:00 2 type3 2012-12-05 00:20:43
2012-12-13 02:00:00 2 type2 2012-12-06 11:31:41
2012-12-13 00:00:00 2 type1 2012-12-07 00:58:11
我想:
begintime id type created_at
2012-12-13 01:00:00 1 type1 2012-12-01 11:39:47
2012-12-13 03:00:00 2 type3 2012-12-05 00:20:43
我怎样才能得到它?
答
您的标题与您所写的问题相矛盾。它说LATEST
,但你真的想要第一个created_AT
每ID
。无论如何,
您可以使用子查询,每ID
分别获取最小created_AT
。然后将子查询的结果连接回来以获取其他列的值。
SELECT a.*
FROM TableName a
INNER JOIN
(
SELECT ID, MIN(created_AT) max_date
FROM TableName
GROUP BY ID
) b ON a.ID = b.ID AND
a.created_AT = b.max_date
+0
我不明白为什么这是降低':D' – 2013-03-21 23:58:46
答
试试这个:
SELECT *
FROM table_name
GROUP BY id
ORDER BY
id ASC,
begintime DESC;
希望它能帮助!
你能解释一下你需要什么吗? – Barranka 2013-03-21 23:54:13