@Deeng

Как сделать вывод количества записей внутри другой выборки?

У меня есть таблица с городами и отметками "плюс", в которой значения 1 и 0. Мне нужно вывести количество упоминаний каждого города и количество значений "плюс" для него.
Сейчас запрос выглядит так:
SELECT city, count(*) as count, (SELECT count(*) from `data` WHERE `plus`=1) as plus from `data` GROUP BY city

Но эти 2 выборки никак не связаны, 2 select выбирает данные со всей таблицы, а не для определенного города. Подскажите, как правильно записать?
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
longclaps
@longclaps
Вместо странного
(SELECT count(*) from `data` WHERE `plus`=1)
вставьте что-то вроде
sum(1 if `plus`=1 else 0)
только if`а в SQL нет, используйте case.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы