我在Postgresql中有一个数据库。我需要按月和年计算总记录数,例如:
总计:100条记录
2018年,01:50年 2018年,02:50年
总数我没有问题:
select count(id) from users;
但是如何查询指定的日期呢?
日期格式位于yyyy-mm-dd hh-mm-ss
答案 0 :(得分:0)
很遗憾,您没有指定日期列的数据类型,即日期是您提供的格式的字符串还是实际时间戳。
如果日期格式化为字符串,您应该能够按日期的子字符串对计数记录进行分组,如下所示:
select count(id),
substr(date, 1, 7) as year_mon
from users
group by substr(date, 1, 7);
对于真正的时间戳,PostgreSQL提供了相应的截断方法:
select count(id),
date_trunc('month', date) as year_mon
from users
group by date_trunc('month', date);