2013-06-29 35 views
10

Tôi có một bảng như dưới đâySQL COUNTIF chức năng

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 

Bây giờ tôi muốn thực hiện một truy vấn mà sẽ mang lại kết quả trông giống như dưới đây

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

Bất cứ ai có xin vui lòng giúp tôi làm thế nào để viết truy vấn này

Trả lời

21

Không có đơn lẻ SUMIF hoặc COUNTIF.

Nhưng bạn có SUM hoặc COUNT và một IF sử dụng CASE ...

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] 

Đối đếm, bạn có thể làm cho ELSE trở NULL như đếm 1, 2, 4, NULL3.

+0

tuyệt vời. cảm ơn @ MatBailie –

Các vấn đề liên quan