如果已经发布或在互联网上发布了对不起,我很抱歉。我来这里是漫长的寻找之后按列修改组以获得最新结果
假设是这样的表:
+----+-------+----------+---------------------+
| id | name | group_id | created_time |
+----+-------+----------+---------------------+
| 1 | foo | 1 | 2010-09-22 00:00:00 |
| 2 | rafi | 2 | 2010-09-23 00:00:00 |
| 3 | rafi1 | 2 | 2010-09-24 00:00:00 |
| 4 | rafi2 | 2 | 2010-09-25 00:00:00 |
| 5 | bar | 5 | 2010-09-26 00:00:00 |
| 6 | baz | 6 | 2010-09-27 00:00:00 |
| 7 | baz1 | 6 | 2010-09-26 00:00:00 |
| 8 | rafi3 | 2 | 2010-09-24 00:00:00 |
| 9 | baz2 | 6 | 2010-09-30 00:00:00 |
+----+-------+----------+---------------------+
我想要的是一群这些根据组ID,并责令由CREATED_TIME递减(更新的版本)
但是当我说
SELECT id,name,group_id,created_time FROM test group by group_id ORDER BY id desc;
我得到这个
+----+------+----------+---------------------+
| id | name | group_id | created_time |
+----+------+----------+---------------------+
| 6 | baz | 6 | 2010-09-27 00:00:00 |
| 5 | bar | 5 | 2010-09-26 00:00:00 |
| 2 | rafi | 2 | 2010-09-23 00:00:00 |
| 1 | foo | 1 | 2010-09-22 00:00:00 |
+----+------+----------+---------------------+
我想要的是得到这样的
+----+------+----------+---------------------+
| id | name | group_id | created_time |
+----+------+----------+---------------------+
| 9 | baz2 | 6 | 2010-09-30 00:00:00 |
| 5 | bar | 5 | 2010-09-26 00:00:00 |
| 5 | rafi2| 2 | 2010-09-25 00:00:00 |
| 1 | foo | 1 | 2010-09-22 00:00:00 |
+----+------+----------+---------------------+
我已经试过
SELECT max(date(created_time)) as foo,name,group_id FROM test group by group_id ORDER BY foo desc;
我得到的日期正确的,但不能得到的姓名权。
这是更好的..因为内部连接工作太慢,即使索引后......虽然我做了一个更快的做法是把它分成2个查询......现在它快得多 – Rafi 2010-09-14 17:58:56