簡體   English   中英

記錄數和平均記錄數查詢 - Oracle

[英]Count of Records and Average of count of records Query - Oracle

輸出如:

年 -> 月 -> 產品名稱 -> 年度記錄總數 -> 年度平均記錄數

我的查詢返回全年的總數和平均值,我希望它也按月細分:

SELECT PRODUCT_ID,PRODUCT_NAME,EXTRACT(YEAR FROM DATE), COUNT(ID) AS TOTAL_COUNT,COUNT(ID)/COUNT(DISTINCT(EXTRACT(DATE))) AS AVG_NO_RECORDS
FROM TABLE
GROUP  BY  PRODUCT_ID,PRODUCT_NAME,EXTRACT(YEAR  FROM DATE)

除了您在此示例查詢中使用了一堆無效內容( table是無效的表名, date是無效的列名,其中之一是錯誤的extract )之外,您還可以在具有所需格式掩碼的日期列上使用TO_CHAR -例如mm - 並按它分組。 像這樣的東西:

SELECT PRODUCT_ID,
       PRODUCT_NAME,
       EXTRACT(YEAR FROM DATE), 
       -- 
       to_char(date, 'mm') as month,   --> this ...
       --
       COUNT(ID) AS TOTAL_COUNT,
       COUNT(ID)/COUNT(DISTINCT(EXTRACT(DATE))) AS AVG_NO_RECORDS
FROM TABLE
GROUP  BY  PRODUCT_ID,
           PRODUCT_NAME,
           EXTRACT(YEAR  FROM DATE),
           to_char(date, 'mm')         --> ... and this

另一方面,如果您已經按年和月分組,請查看是否可以為此使用單個列,例如to_char(date_column, 'mm.yyyy')

暫無
暫無

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

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