Mysql选择并计算位置

Mysql选择并计算位置,mysql,Mysql,我有两个表(让我们称它们为cases和users),结构如下:cases ID|status |user_id __|____________|_______ 1 |Open |6 2 |Closed |9 3 |Incomplete |9 用户: ID| __|_____ 6| 9| 我想为id以及每个状态字段选择一个计数 目前我已尝试: SELECT COUNT(c.id), COUNT( (SELECT status from cases

我有两个表(让我们称它们为cases和users),结构如下:cases

ID|status      |user_id
__|____________|_______  
1 |Open        |6
2 |Closed      |9
3 |Incomplete  |9
用户:

ID| 
__|_____
 6|
 9|
我想为id以及每个状态字段选择一个计数

目前我已尝试:

SELECT COUNT(c.id), COUNT(
(SELECT status from cases where status = 'Open')),
COUNT(
(SELECT status from cases where status = 'Closed')),
COUNT(
(SELECT status from cases where status = 'Incomplete'))
FROM cases as c
JOIN users as u on u.id = c.user_id
我收到一个返回多行的查询错误

这就是我想要达到的目标

ID| Open | Closed | Incomplete |user_id
__|______|________|____________|__________
 2|0     |1       |1           |9

重述:每个用户id的计数,用于计算id的数量,以及每个状态的计数

您可以使用
sum

SELECT COUNT(c.id), 
SUM(c.status = 'Open') Open ,
SUM(c.status = 'Closed') Closed ,
SUM(c.status = 'Incomplete') Incomplete,
u.id user_id
FROM cases as c
JOIN users as u on u.id = c.user_id
GROUP BY u.id

这似乎是一个合理的答案。很难说这是否真的回答了这个问题。