2015-11-17 26 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