2013-06-29 40 views
10

我有一个像下面SQL COUNTIF函数

Type of Station | Broadcast Management 
----------------+------------------------- 
Full Power  | Sinclair Broadcast Group 
Full Power  | Sinclair Broadcast Group 
LPTV cable  | Sinclair Broadcast Group 
LPTV no cable | Sinclair Broadcast Group 

现在我想执行一个查询,会带来结果的表看起来像下面

Broadcast Management  | Full Power | LPTV cable | LPTV no cable 
---------------------------+------------+------------+-------------- 
Sinclair Broadcast Group | 2   |  1  | 1 

谁能请帮助我如何写这个查询

回答

21

没有单一SUMIFCOUNTIF

但你必须SUMCOUNT和使用CASEIF ...

SELECT 
    [Broadcast Management], 
    SUM(CASE WHEN [Type of Station] = 'Full Power' THEN 1 ELSE 0 END) AS [Full Power], 
    SUM(CASE WHEN [Type of Station] = 'LPTV Cable' THEN 1 ELSE 0 END) AS [LPTV Cable], 
    SUM(CASE WHEN [Type of Station] = 'LPTV No Cable' THEN 1 ELSE 0 END) AS [LPTV No Cable] 
FROM 
    yourTable 
GROUP BY 
    [Broadcast Management] 

对于计数,可以使ELSENULL1, 2, 4, NULL计数3

+0

优秀。谢谢@MatBailie –