Mysql 在子查询中选择两列
我有以下SQL语句:Mysql 在子查询中选择两列,mysql,mysql-error-1241,Mysql,Mysql Error 1241,我有以下SQL语句: SELECT Office, COUNT(Office) As Tot_Part, (SELECT Office, COUNT(Office) FROM trespondent WHERE completion_status= 'Started' OR completion_status = 'Complete' GROUP BY Office ORDER BY Office ) As Total_Resp F
SELECT Office,
COUNT(Office) As Tot_Part,
(SELECT Office, COUNT(Office)
FROM trespondent
WHERE completion_status= 'Started'
OR completion_status = 'Complete'
GROUP BY Office ORDER BY Office
) As Total_Resp
FROM trespondent
WHERE completion_status <> 'New'
GROUP BY Office
ORDER BY Office
选择列表中的任何子查询都必须是标量子查询,也就是说,它必须有一列和一行 但在这种情况下,您根本不需要子查询:
SELECT
Office,
COUNT(Office) As Tot_Part,
SUM(completion_status IN ('Started', 'Complete')) AS Total_Resp
FROM trespondent
WHERE completion_status <> 'New'
GROUP BY Office
ORDER BY Office
选择
办公室,
将(办公室)计算为合计部分,
总和(完成状态为“已开始”、“已完成”)作为总计
来自trespondent
何处完成_状态为“新”
分组办公
办公室订购
诀窍在于,值为1或0的SUM()与值为1的行的COUNT()相同。MySQL将布尔表达式视为1或0
SELECT
Office,
COUNT(Office) As Tot_Part,
SUM(completion_status IN ('Started', 'Complete')) AS Total_Resp
FROM trespondent
WHERE completion_status <> 'New'
GROUP BY Office
ORDER BY Office