Select + count разных параметров

386
10 августа 2017, 22:35

Мы имеем 2 столбца в первом Site_ID (любой, но повторяются), во втором Level (0 или 1)

ну и пример
123,0
666,1
967,0
666,0

В итоге хочется получить (Site_id/count(Level=0)/count(Level=1)), то есть из примера выше мы получим

123,1,0
666,1,1
967,1,0

Answer 1

Нужно использовать CASE внутри COUNT

SELECT
   Site_id,
   COUNT(CASE Level WHEN 0 THEN 1 END) AS Level_0,
   COUNT(CASE Level WHEN 1 THEN 1 END) AS Level_1
FROM Table
GROUP BY Site_id;
Answer 2
SELECT
   Site_id,
   SUM(Level = 0) AS Level_0,
   SUM(Level = 1) AS Level_1
FROM DataTable
GROUP BY Site_id;
READ ALSO
Как записать SQL запрос?

Как записать SQL запрос?

table1 [name] [value] table2 [name] [parent]

482
JOIN по дате с округлением

JOIN по дате с округлением

Есть таблица с полем типа DATETIME, которое хранит время и дату покупки:

394
как можно вывести индексы максимумов и минимумов в матрице?

как можно вывести индексы максимумов и минимумов в матрице?

Создать программу, которая вводит c клавиатуры двумерный массив неотрицательных целых чисел, находит минимум из максимальных элементов...

438