如何按字母顺序订购月份?

问题描述 投票:-2回答:1

帮我解决这个问题。我想在PostgreSQL上按字母顺序订购月份。

这是我的代码:

  SELECT to_char(closed_date,'Month') AS "month" , 
  count(card_number) AS "total"
  FROM c_card_status_history
  where extract(year from closed_date) = 2018
  GROUP BY "month" order by "month"

请帮我。谢谢

postgresql
1个回答
1
投票

您需要将closed_date保留为日期(或时间戳),以便您可以对其进行订购。为此,您可以对date_trunc('month', closed_date)进行分组,并将其用作表达式的顺序:

SELECT to_char(date_trunc('month', closed_date), 'Month') AS "month", 
       count(card_number) AS "total"
FROM c_card_status_history
where extract(year from closed_date) = 2018
GROUP BY date_trunc('month', closed_date)
ORDER BY date_trunc('month', closed_date)

date_trunc('month', closed_date)的分组将与你的to_char()表达式分组相同,因为你也将结果限制在2018年之后的几个月。

© www.soinside.com 2019 - 2024. All rights reserved.