PostgreSql根据时间获取过去12个月的数据按年月分组并统计数量 日期格式化为年月
时间: 2023-06-24 12:05:37 浏览: 140
PostgreSQL 如何获取当前日期时间及注意事项
可以使用PostgreSQL的日期函数和聚合函数来实现这个需求,具体步骤如下:
1. 使用date_trunc函数将日期格式化为年月,例如:
```
SELECT date_trunc('month', created_at) AS year_month FROM my_table;
```
这将返回一个列,包含所有记录的年月。
2. 使用WHERE子句筛选出过去12个月的记录,例如:
```
SELECT date_trunc('month', created_at) AS year_month FROM my_table
WHERE created_at >= now() - interval '12 months';
```
这将返回一个列,包含过去12个月的记录的年月。
3. 使用GROUP BY子句按年月分组,并使用COUNT函数统计每个月的记录数量,例如:
```
SELECT date_trunc('month', created_at) AS year_month, COUNT(*) AS count FROM my_table
WHERE created_at >= now() - interval '12 months'
GROUP BY date_trunc('month', created_at);
```
这将返回两列,第一列为年月,第二列为该年月的记录数量。
完整的查询语句如下:
```
SELECT date_trunc('month', created_at) AS year_month, COUNT(*) AS count FROM my_table
WHERE created_at >= now() - interval '12 months'
GROUP BY date_trunc('month', created_at);
```
阅读全文