【发布时间】:2019-05-07 04:53:45
【问题描述】:
我有以下查询
SELECT CASE u.situacionUsuario
WHEN "A" THEN 'ALTA'
WHEN "R" THEN 'ALTA'
WHEN "S" THEN 'ALTA'
WHEN "B" THEN 'BAJA'
WHEN "T" THEN 'BAJA'
ELSE NULL
END AS Situacion
FROM Usuario u
WHERE
YEAR(u.fechaAsistencia)=2018 AND MONTH(u.fechaAsistencia) BETWEEN 01 AND 12
GROUP BY u.situacionUsuario, u.usuario;
返回这个结果
-Situacion-
|ALTA |
|ALTA |
|ALTA |
|ALTA |
|ALTA |
|ALTA |
|BAJA |
|BAJA |
|ALTA |
|ALTA |
|ALTA |
|BAJA |
|ALTA |
|ALTA |
|ALTA |
----------
我想要的结果就是这个。
-Situacion-TOTAL-|
|ALTA |12 |
|BAJA |3 |
-----------------
我使用了 COUNT,但它没有返回我想要的结果
SELECT CASE u.situacionUsuario
WHEN "A" THEN 'ALTA'
WHEN "R" THEN 'ALTA'
WHEN "S" THEN 'ALTA'
WHEN "B" THEN 'BAJA'
WHEN "T" THEN 'BAJA'
ELSE NULL
END AS Situacion,
COUNT (CASE u.situacionUsuario
WHEN "A" THEN 'ALTA'
WHEN "R" THEN 'ALTA'
WHEN "S" THEN 'ALTA'
WHEN "B" THEN 'BAJA'
WHEN "T" THEN 'BAJA'
ELSE NULL
END) AS Total
FROM Usuario u
WHERE
YEAR(u.fechaAsistencia)=2018 AND MONTH(u.fechaAsistencia) BETWEEN 01 AND 12
GROUP BY Situacion;
任何建议我如何计算案例并获得所需的结果?
【问题讨论】:
标签: mysql sql count case mysql-workbench