【发布时间】:2014-07-08 05:55:12
【问题描述】:
我有一个类似的表:
user_id | action
1 a1
2 a1
1 a1
3 a1
2 a1
1 a2
2 a2
我必须找出执行过操作 a1 的用户数,按操作数和 a1 的用户数分组。
例如在上表中,输出应该是:
num_users num_action_a1
1 (user: 3) 1
2 (user: 1,2) 2
我尝试了以下查询
select user_id, count(user_id) from table where action = 'a1' group by user_id
我必须使用嵌套分组吗?
【问题讨论】:
-
你尝试过什么查询?
-
select user_id, count(user_id) from table where action = 'a1' group by user_id - 我对使用 2 group by 感到困惑
-
再次尝试:select user_id, count(user_id) from table where query_type = 'a1' group by user_id, count(user_id) - 没用 :(
-
试试这个 SELECT count(user_id) num_users FROM table WHERE action=a1 GROUP BY (SELECT count(user_id) no_users FROM table ASC),(SELECT count(user_id) FROM table WHERE action=a1)