2015-11-17 27 views
1

表中的參考列表姓氏的平均數,我需要找到的平均次數姓出現在列表中, 我用命令:如何找到OCCURENCES(甲骨文)

SELECT column5, COUNT(*) 
FROM table1 
GROUP BY column5 

以獲得發生的列表,但我的數據庫中有超過800個,所以我可以手動查找平均值 所以一些作者已經出版了9本書,有些只有1本,我如何找到這個平均值?

+0

請閱讀[**如何問**](http://stackoverflow.com/help/如何問) \t \t \t和[**如何創建一個最小,完整和可驗證的示例。**](http://stackoverflow.com/help/mcve) 這是一個偉大的地方開始\t http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –

+1

編輯您的問題並提供樣本數據和期望的結果。你似乎對錶和數據庫感到困惑。您提到「作者」和「書籍」,但您的示例查詢並未引用任何此類內容。 –

回答

0

找到「的每位作者的圖書平均數量」,你必須選擇的書籍作者的總數除以總數:

SELECT CAST(COUNT(*) AS DECIMAL)/COUNT(DISTINCT column5) 
FROM table1; 

注意:我使用CAST ... AS DECIMAL語法使結果顯示爲小數而不是截斷爲整數。

0

您可以使用AVG函數試試這個如:

SELECT column5, COUNT(*), avg(column5) 
FROM table1 
GROUP BY column5 
0

它可以組成(即鳥巢)聚合函數,那麼爲什麼不乾脆這樣:

SELECT AVG(COUNT(*)) average_occurrences 
FROM table1 
GROUP BY column5