date_trunc()
代わりは。 date
を切り捨てます /timestamp
与えられたユニットに。
2つの理由:
-
2012年のように、特定の年の8月の注文数が必要です。 表のすべての年の8月の合計。
date_trunc('month', orderdate)
まさにそれを行い、偶然に複数年を混ぜることを防ぎます。複数年にわたって複数の行を取得します。 -
両方とも
ORDER BY
できます およびGROUP BY
この1つの式では、クエリが少し速くなります。
SELECT to_char(date_trunc('month', orderdate), 'Mon') AS "Month" -- repeat expr.
,count(*) AS "Quantity"
FROM orders
GROUP BY date_trunc('month', orderdate) -- 1 item covers it
ORDER BY date_trunc('month', orderdate);
db <> fiddle こちら
古い
完全な月の名前の場合、最初の例のように、次のようになります。
to_char(date_col, 'Month')
英語以外のローカライズされた名前の場合:
to_char(date_col, 'TMMonth')