簡體   English   中英

如何按月和年分組?

[英]How to group by month and year?

我有一個 PURCHASE 表,其日期列 PURCHASEDATE 是 DATE 格式。 我正在嘗試按月和年對購買進行分組。 為此,我嘗試:

SELECT 
TO_CHAR(PURCHASEDATE, 'MM YYYY') AS MONTHYEAR 
FROM PURCHASE
GROUP BY TO_CHAR(PURCHASEDATE, 'MM YYYY');

我也嘗試過GROUP BY EXTRACT(MONTH FROM PURCHASEDATE), EXTRACT(YEAR FROM PURCHASEDATE)但都沒有奏效。

我對 SQL 查詢感到生疏:S。

編輯

表列

在此處輸入圖像描述

提前謝謝!

這是你想要的嗎?

SELECT 
    TO_CHAR(PURCHASEDATE, 'MM YYYY') AS MONTHYEAR,
    SUM(TOTAL) AS TOTAL
FROM PURCHASE
GROUP BY
    TO_CHAR(PURCHASEDATE, 'MM YYYY');

如果您有示例數據:

CREATE TABLE purchase ( purchasedate ) AS
SELECT DATE '2019-01-01' + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 5 UNION ALL
SELECT DATE '2019-02-01' + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 3 UNION ALL
SELECT DATE '2020-01-01' + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 3 UNION ALL
SELECT DATE '2020-02-01' + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 2 UNION ALL
SELECT DATE '2020-03-01' + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 4 UNION ALL
SELECT DATE '2020-04-01' + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 1;

然后,您可以使用您的查詢:

SELECT TO_CHAR(PURCHASEDATE, 'MM YYYY') AS monthyear,
       COUNT(*) AS frequency
FROM   PURCHASE
GROUP BY
       TO_CHAR(PURCHASEDATE, 'MM YYYY');

哪個輸出:

 月 | 頻率:-------- |  --------: 03 2020 |  4 01 2019 |  5 01 2020 |  2020 年 3 月 2 日 |  2 02 2019 |  2020 年 3 月 4 日 |  1

或者,您可以使用TRUNC

SELECT TRUNC(PURCHASEDATE,'MM') AS monthyear,
       COUNT(*) AS frequency
FROM   PURCHASE
GROUP BY
       TRUNC(PURCHASEDATE,'MM');

哪個輸出:

 月 | 頻率:------------------ |  --------: 2020-03-01 00:00:00 |  4 2020-04-01 00:00:00 |  1 2020-02-01 00:00:00 |  2 2020-01-01 00:00:00 |  3 2019-01-01 00:00:00 |  5 2019-02-01 00:00:00 |  3

或者,您可以使用EXTRACT

SELECT EXTRACT( YEAR FROM PURCHASEDATE) AS year,
       EXTRACT( MONTH FROM PURCHASEDATE) AS month,
       COUNT(*) AS frequency
FROM   PURCHASE
GROUP BY
       EXTRACT( YEAR FROM PURCHASEDATE),
       EXTRACT( MONTH FROM PURCHASEDATE);

哪個輸出:

 年份 | 月 | 頻率 ---: |  ----: |  --------: 2019 |  1 |  5 2020 |  1 |  3 2020 |  2 |  2 2020 |  4 |  1 2019 |  2 |  3 2020 |  3 |  4

db<> 在這里擺弄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM