我想在此查询中替换CASE WHEN
SELECT label ,date,count(id) AS nb, count(CASE WHEN label='test' THEN 1 END) AS nb_test
FROM
sil_test,sil_data
WHERE
sil_test.id_t=sil_data.id_t
GROUP BY
label, date
任何想法?
答案 0 :(得分:2)
以下是与MySQL一起使用的此查询的另一个版本:
SELECT label ,date,count(id) AS nb, sum(label = 'test') AS nb_test
FROM sil_test join
sil_data
on sil_test.id_t = sil_data.id_t
GROUP BY label, date;
我不确定这解决了什么问题,除了用特定于MySQL的功能替换ANSI标准语法。当然,修复连接以使它们是明确的(非常,非常,非常推荐)。