首页 > 解决方案 > PostgreSQL 使用 to_char 进行以后的连击聚合,如何将月份部分转换回日期

问题描述

我正在使用以下内容将日期变量转换为 YYYY 和 Mon

select
to_char(date, 'Mon')                     as month,
extract(year from date)                  as year,
v1,
count(v2) as count
from data
group by 1,2,3
order by 2,1;

但是,当我进行订购时,它没有正确订购我的数据。所以我认为我必须将 Mon 转换为数字或转换回日期才能正确排序。想法?

标签: sqlpostgresqlsortingdatecasting

解决方案


当然不是。它按月份名称排序。

相反,只需按日期订购:

order by date

如果这是一个聚合查询,那么您将使用聚合函数:

order by min(date)

推荐阅读