postgresql 如何按照日期分组,在分组内进行金额排序
时间: 2024-05-14 21:14:22 浏览: 50
Sequelize中用group by进行分组聚合查询
5星 · 资源好评率100%
可以使用以下 SQL 查询语句:
```
SELECT date_trunc('day', order_date) as order_day,
sum(amount) as total_amount,
array_agg(order_id ORDER BY amount DESC) as ordered_order_ids
FROM orders
GROUP BY order_day
ORDER BY order_day DESC;
```
在这个查询中,使用 `date_trunc` 函数将订单日期按照天数进行分组。然后使用 `sum` 函数计算每个分组内的订单总金额。最后使用 `array_agg` 函数将每个分组内的订单按照金额从高到低排序并返回一个数组。
注意,在使用 `array_agg` 函数时,需要指定 `ORDER BY` 子句以按照指定的排序方式排序。
阅读全文