1

从两天开始,我试图解决一些问题 - 没有成功。这是我的表 user_actions:

用户名 | 动作标识
------------------
12 | 0004243
12 | 0004243
12 | 1346454
第542章 4356675
235 | 1346454
235 | 0004243
235 | 1346454
235 | 1346454

我需要计算有多少用户执行了一个操作(actionId)。关于上面的示例,输出应如下所示:

行动ID | howManyUsers
----------------------
0004243 | 2
1346454 | 2
4356675 | 1

有人能聪明地帮助我并向我解释方法吗?谢谢你。

4

5 回答 5

7

尝试这个:

SELECT actionId, COUNT(DISTINCT userId) AS howManyUsers
FROM user_actions
GROUP BY actionId

这有帮助吗?

于 2013-04-23T21:20:15.143 回答
3

正确的查询使用count(distinct)

select actionID, count(distinct userId) as howManyUsers  
from table
group by actionID
于 2013-04-23T21:20:54.683 回答
0

我模拟了它,实际上这个查询给了我正确的输出:

SELECT actionId, COUNT(DISTINCT actionId) AS howManyUsers
FROM user_actions
GROUP BY userId
于 2013-04-23T21:39:51.360 回答
0

尝试以下查询

SELECT actionId, COUNT(userId) AS howManyUsers 
FROM user_actions
GROUP BY actionId
于 2013-04-23T21:20:10.117 回答
0

查询很简单。

选择 Count(*) 作为 howmanyusers, actionID from TableX groupby actionId

于 2013-04-23T21:19:30.230 回答