Предположительно мы имеем следующую таблицу:SQL применить сумму СРЕДНЕМ условно
index value 1 55 2 66 3 77 1 88 3 99
как я могу подвести (значение), когда индекс = 1 или индекс = 3, и средний (значение), когда индекс = 2 в один выберите заявление?
Предположительно мы имеем следующую таблицу:SQL применить сумму СРЕДНЕМ условно
index value 1 55 2 66 3 77 1 88 3 99
как я могу подвести (значение), когда индекс = 1 или индекс = 3, и средний (значение), когда индекс = 2 в один выберите заявление?
Легко:
SELECT index, CASE WHEN index IN (1, 3) THEN SUM(value) ELSE AVG(value) END
FROM yourTable
GROUP BY index
спасибо, я не знал, что раньше было дело. – karpar
Добро пожаловать! –
SELECT sum(value) as agg,
'S' as aggregateType
FROM DaTAble
WHERE index IN (1, 3)
UNION ALL
SELECT avg(value) as agg,
'A' as aggregateType
FROM DaTAble
WHERE index = 2
Что ваш ожидаемый результат (в виде таблицы)? –