在Mysql中按日期排序和分组

时间:2011-01-12 00:49:05

标签: mysql subquery

大家好,提前谢谢。 我有一个小问题,无法解决,我有这个表,我想按日期排序并对其进行分组(但我只显示每个idCAT 1行)

| id | idcat | name |     date   |

| 1  | 3     | xx   | 2011-01-02 |

| 2  | 4     | xf   | 2011-01-02 |

| 3  | 3     | cd   | 2011-01-01 |

| 4  | 1     | cg   | 2011-01-04 |

| 5  | 4     | ce   | 2011-01-06 |

希望保持这种方式,尝试某种方式,但我不能

| 2  | 4     | xf   | 2011-01-02 |

| 3  | 3     | cd   | 2011-01-01 |

| 4  | 1     | cg   | 2011-01-04 |

按ID排序


感谢一位朋友的工作。

SELECT id, idcat, name, date FROM (SELECT * FROM data ORDER BY idcat, date ) m GROUP BY idcat

2 个答案:

答案 0 :(得分:1)

我不能方便地测试atm,但试试这个:

SELECT FIRST(id), idcat, FIRST(name), FIRST(date) AS d FROM myTable GROUP BY idcat ORDER BY d;

注意使用FIRST调用来挑选表中第一行的任何特定idcat。

答案 1 :(得分:-1)

如果您尝试通过idcat获取分组,则按日期排序:

通过idcat按日期从myTable组中选择id,idcat,name,date;