修改或排序WITH ROLLUP行

时间:2014-07-15 17:14:21

标签: mysql

如果使用WITH ROLLUP,是否可以对最早的日期进行排序? 这是一个例子:

SELECT id, DATEDIFF(NOW(), date) as date, sum(qty) as qty FROM item group by id WITH ROLLUP

会给我这个:

+-----------------------+
| ID     | DAYS   | QTY |
+-----------------------+
| 1      | 437    | 17  |
| 2      | 38     | 33  |
| 3      | 14     | 49  |
| (null) | 14     | 99  |
+-----------------------+

但我期待:

+-----------------------+
| ID     | DAYS   | QTY |
+-----------------------+
| 1      | 437    | 17  |
| 2      | 38     | 33  |
| 3      | 14     | 49  |
| (null) | 437    | 99  |
+-----------------------+

我希望在该行上显示最早的日期。有可能吗?

1 个答案:

答案 0 :(得分:1)

如果您将日期放在聚合函数中,那么您可以执行所需的操作:

SELECT id, max(DATEDIFF(NOW(), date)) as date, sum(qty) as qty
FROM item
group by id WITH ROLLUP;