問(wèn)題描述:多張表組合group by查詢后,在每個(gè)組中按照一定的條件進(jìn)行計(jì)數(shù)膜赃。
解決思路:
1.每一個(gè)條件都使用group by進(jìn)行查詢,再將多個(gè)查詢作為子查詢組合到一個(gè)完整的查詢里面(評(píng)價(jià):該方法查詢耗時(shí)會(huì)比較久)
2.不用子查詢揉忘,在sum聚合函數(shù)中使用case when ... then ... else ... end
select
月份,
sum(case when 銷(xiāo)售人員='姓名1' then 銷(xiāo)售數(shù)量*產(chǎn)品單價(jià) else 0 end) as 姓名1銷(xiāo)售額,
sum(case when 銷(xiāo)售人員='姓名2' then 銷(xiāo)售數(shù)量*產(chǎn)品單價(jià) else 0 end) as 姓名1銷(xiāo)售額,
sum(case when 銷(xiāo)售人員='姓名3' then 銷(xiāo)售數(shù)量*產(chǎn)品單價(jià) else 0 end) as 姓名1銷(xiāo)售額
from 表格
group by 月份,銷(xiāo)售人員