[英]mysql SELECT columns but use WHERE to only one
我有這個問題:
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僅用於WHERE thx =“y”這樣的列thx
,這樣它只會計算所有帶“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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.