如下語句:我希望當w002,w003,w004分別在其等於1時才根據w001分組統計出各自的次數.
不知道是不是可以用一條語句完成。下面的sql應該怎麼修改...請各位指教 ..
select k1.w001,count(*),count(k2.w002),count(k2.w003),count(k2.w004),count(k2.w005),count(k2.w006) from k_b001 k1,k_b002 k2 where k1.id=k2.idand k2.w007='01' group by k1.w001
不知道是不是可以用一條語句完成。下面的sql應該怎麼修改...請各位指教 ..
select k1.w001,count(*),count(k2.w002),count(k2.w003),count(k2.w004),count(k2.w005),count(k2.w006) from k_b001 k1,k_b002 k2 where k1.id=k2.idand k2.w007='01' group by k1.w001
COUNT(*),
COUNT(CASE WHEN k2.w002='1' THEN k2.w002 END),
COUNT(CASE WHEN k2.w003='1' THEN k2.w003 END),
COUNT(CASE WHEN k2.w004='1' THEN k2.w004 END),
COUNT(k2.w005),
COUNT(k2.w006)
FROM k1 INNER JOIN k2 ON k1.id=k2.id
WHERE k2.w007='01'
GROUP BY k1.w001
牛人就是牛人,正是我想要表達的.
我大概写一下吧!
if(k2.w002='1' || k2.w003='1' || k2.w004='1')
SELECT k1.w001,
COUNT(*),
COUNT(k2.w002),
COUNT(k2.w003),
COUNT(k2.w004),
COUNT(k2.w005),
COUNT(k2.w006)
FROM k1 INNER JOIN k2 ON k1.id=k2.id
WHERE k2.w007='01'
GROUP BY k1.w001