gpt4 book ai didi

sql - 如何获取每个月的第一行数据(postgres)

转载 作者:行者123 更新时间:2023-12-05 03:46:36 24 4
gpt4 key购买 nike

我是 postgres 的初学者,想获得每个月的第一行(分组依据),但我不太确定如何。

我的表顺序如下:

order_id | cust_id | order_date
------------------------------------------------
order1 | cust1 | January 19, 2020, 1:00 PM
order2 | cust1 | January 30, 2020, 2:00 PM
order3 | cust1 | February 20, 2020, 3:00 PM
order4 | cust1 | February 28, 2020, 4:00 PM
order5 | cust2 | February 27, 2020, 4:00 PM

预期的结果应该是:

order_id | cust_id | order_date
------------------------------------------------
order1 | cust1 | January 19, 2020, 1:00 PM
order3 | cust1 | February 20, 2020, 3:00 PM
order5 | cust2 | February 27, 2020, 4:00 PM

但是我无法使用下面的查询获得上述结果,我得到的结果与表相同:

select distinct on (order_date)cust_id, order_date, order_id from order
group by delivery_date, customer_id, delivery_id
order by delivery_date asc

最佳答案

关闭。使用月份并去掉 group by:

select distinct on (cust_id, date_trunc('month', order_date) ) cust_id, order_date, order_id
from order
order by cust_id, date_trunc('month', order_date), delivery_date asc

关于sql - 如何获取每个月的第一行数据(postgres),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65202375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com