Я довольно новичок в SQL-сервере и переполнении стека, так что простите, если мой вопрос неверный или наивный. Я попытался выполнить поиск, но не смог найти именно то, что искал.
У меня есть таблица с уникальным идентификатором столбца (varchar 50)
и другим column1 изINT
со значениями 1, 2, 3 или 4. Я пытаюсь создать SELECT
набор результатов, который COUNT
содержит все записи, значения которых меньше 4 в column1 идругой COUNT
, который возвращает количество записей, где column1 равно 4. Можно ли создать этот набор результатов в одном запросе?
В идеале я хотел бы, чтобы мой набор результатов выглядел какследующее:
Total Records Records w/ *column1* < 4 Records w/ *column1* = 4
=========== ================== ================
1000 850 150
После завершения некоторых поисков я попробовал следующее:
SELECT COUNT(unique_id) 'Total'
, COUNT(CASE
WHEN column1 = 4 THEN '1'
ELSE '0'
END) AS 'Records w/ 4'
, COUNT(CASE
WHEN column1 < 4 THEN '1'
ELSE '0'
END) AS 'Records < 4'
FROM mytable
;
, который возвращает набор результатов, где 'Record w / 4' и 'Total' оба равнытот же номер.