Два запроса в одном
Нужно посчитать общее количество строк в таблице и количество строк, удовлетворяющих условию. Можно ли это в целях экономии ресурсов как-то выполнить одним запросом, без UNION?
SELECT count(name) as c FROM mytable WHERE name = "abc"
UNION ALL
SELECT count(name) AS t FROM mytable
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
Обычное условное агрегирование.
SELECT COUNT(*), SUM(name = 'abc')
FROM table
В строгих СУБД SUM(CASE WHEN name='abc' THEN 1 ELSE 0 END).