我正在尝试编写一些查询,根据 postgresql 中的每个月对内容进行分组。
假设我们有一个表“犯罪”,其中包含2列“活动日期”(没有时区的时间戳)和“zipcode”(字符变化(5)),如何查询给定邮政编码的每个月的犯罪数量?
例如: 表“罪行”:
activity date zipcode
2014-11-22 00:52:00 12345
2014-10-22 00:52:00 12345
2014-10-24 00:52:00 12345
2014-12-22 00:52:00 54321
输入:给定邮编“12345”
输出:return
month count
2014-10 2
2014-11 1
答案 0 :(得分:5)
尝试:
select
extract(year from activity_date) as year,
to_char(activity_date, 'Mon') as month,
count(*) as count
from
crimes
group by
1,extract(month from activity_date);
答案 1 :(得分:0)
如何从PostgreSQL的时间戳(带/不带时区)中获取月份?
使用功能 EXTRACT(字段FROM源)
SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 2
文档链接:https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT