获取状态和计数数据的查询。 以前,如果条件为2或更大,则then声明, 计数由2统一。(状态值为0到4。)
我想修改大于等于2的值,以便仅按工作ID获得最新注册日期的数据数量。
有没有办法调节ELSE?
这是mysql查询代码:
SELECT A.STATUS, TE.COUNT FROM
(SELECT 0 AS STATUS UNION ALL SELECT 1 UNION ALL SELECT 2) A
LEFT JOIN (
SELECT STATUS , COUNT(*) AS COUNT
FROM (
SELECT CASE WHEN STATUS < 2 THEN STATUS ELSE 2 END AS STATUS
FROM tb_exe
WHERE reg_dt >= curdate()
) TE
GROUP BY STATUS
) TE ON A.STATUS = TE.STATUS;
答案 0 :(得分:0)
是的, 您可以采用梯形格式的 CASE WHEN 。像 IF,ELSE IF,.... ELSE END 。 例如,
SELECT CASE WHEN STATUS < 2 THEN STATUS
WHEN ? THEN ?
...
ELSE 2
END AS STATUS
FROM tb_exe
您不能在 ELSE 中写条件。但是您可以忽略else语句。我的意思是不需要写 ELSE ,如果不需要,则可以以 END 结尾。