[英]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.