我試圖顯示2016年每個月的平均計數/記錄數。下面的代碼不顯示每個月,而只顯示2016年的月平均值:MONTH計算COUNT的AVG
SELECT AVG(DISTINCT DayCnt) AS AvgCnt
FROM
(
SELECT COUNT(*) As DayCnt
FROM table
WHERE YEAR(Insert_Date) = '2016'
GROUP BY MONTH(Insert_Date)
)
AS AvgCnt
我試圖顯示2016年每個月的平均計數/記錄數。下面的代碼不顯示每個月,而只顯示2016年的月平均值:MONTH計算COUNT的AVG
SELECT AVG(DISTINCT DayCnt) AS AvgCnt
FROM
(
SELECT COUNT(*) As DayCnt
FROM table
WHERE YEAR(Insert_Date) = '2016'
GROUP BY MONTH(Insert_Date)
)
AS AvgCnt
我不知道,因爲你沒有張貼的數據,但如果我理解正確的話,這應該爲你工作:
SELECT AVG(DayCnt) AS AvgCnt, mth
FROM
(
SELECT COUNT(*) As DayCnt, MONTH(Insert_Date) as mth
FROM table
WHERE YEAR(Insert_Date) = '2016'
GROUP BY MONTH(Insert_Date), DAY(Insert_Date) )
AS AvgCnt
GROUP BY mth
內部查詢結果和外部之間的區別是什麼? –
內部查詢應該爲您提供2016年的日期和月份的行數。外部查詢應爲您提供一個月內每天收到的平均行數。 – asemprini87
好的,但月組應該在天組之前 –
你首先應該是組每月和天你的結果和日常計算插入記錄,之後得到每月插入記錄的平均值試試這個:
SELECT monthGroup, AVG(DayCnt) AS AvgCnt
FROM
(
SELECT MONTH(Insert_Date) monthGroup, DAY(Insert_Date) dayGroup, COUNT(*) As DayCnt
FROM table
WHERE YEAR(Insert_Date) = '2016'
GROUP BY MONTH(Insert_Date), DAY(Insert_Date)
)
AS AvgCnt
GROUP BY monthGroup
您能否提供帶有樣本數據的表格腳本? – sam
子查詢不是基本上做你想要的嗎? –
標記您正在使用的dbms。 (在那裏使用了一些產品特定的SQL函數...) – jarlh