通过保持更新的日期来保存mysql组

时间:2017-06-14 14:36:38

标签: mysql sql

我有下表:

+------------+--------+-----+
|  reg_dat   | status | id  |
+------------+--------+-----+
| 2016-01-31 |     10 |   1 |
| 2017-06-31 |     12 |   1 |
| 2015-01-31 |     12 |   4 |
| 2017-01-25 |      5 |   4 |
| 2017-01-11 |      3 |   2 |
+------------+--------+-----+

我想做一个mysql查询来按行对行进行分组并仅保留更新的日期......所以输出应该如下:

+------------+--------+-----+
|  reg_dat   | status | id  |
+------------+--------+-----+
| 2017-06-31 |     12 |   1 |
| 2017-01-25 |      5 |   4 |
| 2017-01-11 |      3 |   2 |
+------------+--------+-----+

不幸的是我的代码不起作用......

select *
from table
group by id
order by id, reg_dat DESC

你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用JOIN和子查询

来实现
SELECT t.reg_dat, t.status, t.id
FROM table t
JOIN (SELECT max(reg_dat) max_date, id FROM table GROUP BY id) t1
  ON t.reg_dat = t1.max_date AND t.id = t1.id