计算记录SQL

时间:2015-03-09 11:35:12

标签: sql

我正在尝试计算每个用户的记录数量:

SELECT count(userID) as countOfRecords FROM (select distinct userID from `table`)

我收到错误:每个派生表都必须有自己的别名我做错了什么?

3 个答案:

答案 0 :(得分:2)

您不需要派生表,您可以只计算(不同):

SELECT count(distinct userID) as countOfRecords
FROM `table`

编辑:当我看到Philip Fourie的回答时,我意识到我或许没有给出完整的答案......也可以查看他的GROUP BY解决方案。< / p>

答案 1 :(得分:2)

您可以使用GROUP BY

select userID, count(*) as countOfRecords
from table
group by userID

答案 2 :(得分:0)

仅仅是为了完整性,因为没有明确标记MySql。如果您使用SQL-Server,也可以使用COUNT(*) OVER。然后,您获得每行中UserID 的记录数:

SELECT userID,
       COUNT(*) OVER (PARTITON BY userID) AS countOfRecords, 
       other columns ...
FROM dbo.TableName