按 DOW 划分的销售计数(以日期和时间作为输入)- postgresql
Count of sales partitioned by DOW (with date and time as input) - postgresql
已在互联网上搜索正确的答案,但没有找到我想要的。
我有一个示例数据集如下:
日期--------------------------------销售数量
Saturday 9th September 13:22:00 ------ 1
Sunday 10th September 16:44:02 ------ 3
Monday 11th September 12:00:00 ------ 2
Tuesday 12th September 13:04:34 ------ 4
Wednesday 13th September 15:84:04 ---- 3
Thursday 14th September 16:30:00 ----- 9
Friday 15th September 17:00:00 ------ 3
Saturday 16th September 18:00:03 ----- 5
Sunday 17th September 12:00:34 ------- 2
我希望输出 table 如下:
Day of week -------------- Count
Mon ---------------------- 2
Tues --------------------- 4
Wed ---------------------- 3
Thurs -------------------- 9
Fri ---------------------- 3
Sat ---------------------- 6
Sun ---------------------- 5
这是一个小样本,日期要早得多,但这应该能让您有所了解。
我正在使用 postresql,版本 9.5.8
我尝试了不同的变体,例如 date_trunc 和分区(但可能没有正确使用)。我一直得到错误的输出。本质上,我希望能够制作星期几的条形图并进行计数。
我试过这个:
SELECT count(s.created_at), date_trunc('day', s.created_at)
FROM "sales" s
GROUP BY date_trunc('day', s.created_at)
然而,这为我提供了每个独特日期的计数,而不是简单地按 dow,无论日期如何。
提前谢谢你。
https://www.postgresql.org/docs/current/static/functions-datetime.html
date_part
或 extract
应该做:
SELECT count(s.created_at), extract(dow from s.created_at)
FROM "sales" s
GROUP BY extract(dow from s.created_at)
已在互联网上搜索正确的答案,但没有找到我想要的。
我有一个示例数据集如下:
日期--------------------------------销售数量
Saturday 9th September 13:22:00 ------ 1
Sunday 10th September 16:44:02 ------ 3
Monday 11th September 12:00:00 ------ 2
Tuesday 12th September 13:04:34 ------ 4
Wednesday 13th September 15:84:04 ---- 3
Thursday 14th September 16:30:00 ----- 9
Friday 15th September 17:00:00 ------ 3
Saturday 16th September 18:00:03 ----- 5
Sunday 17th September 12:00:34 ------- 2
我希望输出 table 如下:
Day of week -------------- Count
Mon ---------------------- 2
Tues --------------------- 4
Wed ---------------------- 3
Thurs -------------------- 9
Fri ---------------------- 3
Sat ---------------------- 6
Sun ---------------------- 5
这是一个小样本,日期要早得多,但这应该能让您有所了解。
我正在使用 postresql,版本 9.5.8
我尝试了不同的变体,例如 date_trunc 和分区(但可能没有正确使用)。我一直得到错误的输出。本质上,我希望能够制作星期几的条形图并进行计数。
我试过这个:
SELECT count(s.created_at), date_trunc('day', s.created_at)
FROM "sales" s
GROUP BY date_trunc('day', s.created_at)
然而,这为我提供了每个独特日期的计数,而不是简单地按 dow,无论日期如何。
提前谢谢你。
https://www.postgresql.org/docs/current/static/functions-datetime.html
date_part
或 extract
应该做:
SELECT count(s.created_at), extract(dow from s.created_at)
FROM "sales" s
GROUP BY extract(dow from s.created_at)