如果使用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 |
+-----------------------+
我希望在该行上显示最早的日期。有可能吗?
答案 0 :(得分:1)
如果您将日期放在聚合函数中,那么您可以执行所需的操作:
SELECT id, max(DATEDIFF(NOW(), date)) as date, sum(qty) as qty
FROM item
group by id WITH ROLLUP;