Функция 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
Может кто-нибудь, пожалуйста, помогите мне, как написать этот запрос
Ответы
Ответ 1
Нет ни одного SUMIF
или COUNTIF
.
Но у вас есть SUM
или COUNT
и IF
с помощью 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]
Для подсчета вы можете сделать ELSE
return NULL
, поскольку количество 1, 2, 4, NULL
равно 3
.