Mysql选择并计算位置
我有两个表(让我们称它们为cases和users),结构如下:casesMysql选择并计算位置,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
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
这似乎是一个合理的答案。很难说这是否真的回答了这个问题。