You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中如何从Unix时间戳提取年月实现按年月分组查询

问题原因

原有写法仅提取了时间的月份数值,未关联年份信息,因此不同年份的相同月份数据会被划入同一分组,且输出无法展示年份。

修改后的查询语句

使用PostgreSQL内置的to_char()函数,将转换后的时间戳直接格式化为你需要的月/年格式,同时分组字段使用该格式化后的结果即可:

select 
to_char(to_timestamp(e.startts), 'MM/YY') as "Date", sum(e.checked)
from entries e
where 
e.startts >= date_part('epoch', '2020-10-01T15:01:50.859Z'::timestamp)::int8
and e.stopts <  date_part('epoch', '2021-11-08T15:01:50.859Z'::timestamp)::int8
group by "Date"

可选调整说明

  • 若需要4位年份展示,将格式符中的YY替换为YYYY即可,输出格式会变为10/2020
  • 若不需要月份前导零,将MM替换为FMMM即可,输出格式会变为10/20而非09/20,此时可在语句末尾添加order by min(e.startts)保证结果按时间顺序排列,避免字符串排序错乱

内容的提问来源于stack exchange,提问作者sharkyenergy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:54:03