在这里输入代码我想运行一个sql查询来显示不同的值及其计数。 更具体地说,我跟踪用户活动的表包含以下列:
userId, NumberOfSources,Source
我希望在上周看到每个用户的不同来源,按这些不同值的数量排序。 例如,所需的输出应如下所示:
userId | NumberOfSources | Source
user1 | 3 | sourceA
user1 | 3 | sourceB
user1 | 3 | sourceC
user2 | 2 | sourceD
user2 | 2 | sourceE
我可以运行查询来显示这两列中的每一列,但无法将它们组合在一起。
显示不同值的数量:
SELECT userId, count(distinct source) FROM myTable GROUP BY userId ORDER BY count(distinct source) desc limit 10
显示不同的值:
SELECT distinct source, userId FROM myTable limit 10
有人可以帮我吗?
谢谢, ori的
答案 0 :(得分:0)
SELECT userId, count(source)
FROM myTable GROUP BY userId
ORDER BY count(distinct source) desc limit 10
Group by userId
答案 1 :(得分:0)
试试这个。
更新于2013年12月23日
选择userId,count(source)NumberOfSources,来自myTable组的Source,来自UserID的userId,count(source)desc
- SELECT userId,count(source)NumberOfSources,Source - 来自myTable GROUP BY userId,Source - ORDER BY userId,count(source)desc,Source limit 10
答案 2 :(得分:0)
试试这个:
SELECT userId, COUNT(source),source
FROM myTable
GROUP BY userId ,source
ORDER BY COUNT(source) DESC