SQL - 有什么方法可以简单计算吗?

时间:2013-04-23 21:17:37

标签: mysql sql

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

userId | actionId
------------------
12     | 0004243
12     | 0004243
12     | 1346454
542    | 4356675
235    | 1346454
235    | 0004243
235    | 1346454
235    | 1346454

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

actionId | howManyUsers
-----------------------
0004243  | 2
1346454  | 2
4356675  | 1

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

5 个答案:

答案 0 :(得分:7)

试试这个:

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

这有用吗?

答案 1 :(得分:3)

正确的查询使用count(distinct)

select actionID, count(distinct userId) as howManyUsers  
from table
group by actionID

答案 2 :(得分:0)

查询很简单。

选择Count(*)作为howmanyusers,来自TableX groupby actionId

的actionID

答案 3 :(得分:0)

尝试以下查询

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

答案 4 :(得分:0)

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

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