SQL group by并在group by子句中包含count

时间:2017-06-09 09:04:32

标签: sql group-by

我有如下表格

User ID | file
----------------
1       | File1    
2       | File2    
3       | File3    
4       | File4    
1       | File5    
1       | File6
3       | File7
----------------

要求如下

File Count  | Users
-------------------
1           | 100    
2           | 300    
3           | 800    
4           |  70    
5           |  20    
8           |   8
-------------------

因此,结果应显示带有文件计数的用户数。

这意味着,我必须将count包括在group by子句中

2 个答案:

答案 0 :(得分:0)

我不确定你是否打算这样(具有一定数量文件的用户数):

SELECT RC1 AS FILE_COUNT, COUNT(*) AS RC2 
FROM
(SELECT USER_ID, COUNT(*) RC1 FROM YOURTABLE GROUP BY USER_ID ) A
GROUP BY RC1

答案 1 :(得分:-1)

你走了!这将为每个用户生成文件计数。

select userid, COUNT(filename) as FileCount from files
group by userid

如果您要查找每个文件的用户,请在此处更新回答

select count(userid) as usercount, filename from files
group by filename