我最近才开始学习SQL。我们正在使用MS Access(2010年,在我的情况下)。没有任务是我必须列出一个名为" radnik"的列表中的工人数量。在不同的公司工作地点工作(标记为" brod")。所以我写下来了:
SELECT brod, COUNT(*) AS count
FROM radnik
ORDER BY brod;
列表中大约有18个人,所有人都有10,20,30,40或50的值,所以它应该制作一个表格,例如:
brod | count
10 | 5
20 | 9
...
我得到了,错误,但是:
您尝试执行的查询不包含指定的表达式' brod'作为集合函数的一部分。
很明显,我做错了什么,但我对SQL仍然很陌生。如果有人可以向我解释为什么这不起作用以及如何修复它,那么我非常非常。
答案 0 :(得分:2)
您需要GROUP BY
:
SELECT brod, COUNT(*) AS count
FROM radnik
GROUP BY brod
ORDER BY brod;
简而言之:只要您使用像COUNT
这样的聚合函数,所有其他选定的列也需要在GROUP BY
子句中。
答案 1 :(得分:1)
您错过了group by
条款:
SELECT brod, COUNT(*) AS count
FROM radnik
GROUP BY brod
ORDER BY brod;