有一张任务进度表,对应某个用户的某个任务(task)是否完成
task只有123,而且表里如果存在某个用户,则一定存在他的三条任务记录。
现在要查询三个任务都完成的人数,怎么查询效率最高?
id | user_id | task | status |
---|---|---|---|
1 | 1 | 1 | 0 |
2 | 1 | 2 | 1 |
3 | 1 | 3 | 0 |
4 | 2 | 1 | 1 |
5 | 2 | 2 | 1 |
6 | 2 | 3 | 1 |
7 | 3 | 1 | 0 |
8 | 3 | 2 | 1 |
9 | 3 | 3 | 1 |
有一张任务进度表,对应某个用户的某个任务(task)是否完成
task只有123,而且表里如果存在某个用户,则一定存在他的三条任务记录。
现在要查询三个任务都完成的人数,怎么查询效率最高?
id | user_id | task | status |
---|---|---|---|
1 | 1 | 1 | 0 |
2 | 1 | 2 | 1 |
3 | 1 | 3 | 0 |
4 | 2 | 1 | 1 |
5 | 2 | 2 | 1 |
6 | 2 | 3 | 1 |
7 | 3 | 1 | 0 |
8 | 3 | 2 | 1 |
9 | 3 | 3 | 1 |
1 回答2.5k 阅读✓ 已解决
5 回答1.5k 阅读
2 回答2.2k 阅读
3 回答2.1k 阅读
3 回答2.4k 阅读
1 回答2.4k 阅读
1 回答1k 阅读✓ 已解决
select user_id from test where status=1 group by user_id having count(*)=3