我有这个问题:
SELECT i.d, COUNT(id) AS dr, COUNT(id2) AS dn, SUM(eq) AS eq_sum, COUNT(thx) AS thx_count
FROM dsd
INNER JOIN
(
SELECT COUNT(id) AS d FROM ds
) i
现在我只想将 WHERE 用于 thx
列,例如 WHERE thx="y",这样它将只计算所有带有“y”的值。
但如果我只是在查询末尾添加 WHERE,它也会影响其他列,而我不想这样做。
如何做到这一点?
最佳答案
然后使用 CASE
表达式将您的 COUNT(thx) AS thx_count
更改为以下
COUNT(CASE WHEN thx = 'y' THEN 1 ELSE 0 END) AS thx_count
(或)
SUM(CASE WHEN thx = 'y' THEN 1 ELSE 0 END) AS thx_count
关于mysql SELECT 列但只使用 WHERE 到一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430118/