Задать вопрос
@Lavrov95

Как правильно писать sql?

SELECT countries.short_name, COUNT(user.id), COUNT(user.id WHERE user.status = 1) FROM user INNER JOIN countries ON user.country_id = countries.country_id
GROUP BY short_name


ERROR

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user.status = 1) FROM user INNER JOIN countries ON user.country_id = count' at line 1
  • Вопрос задан
  • 99 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
@awesomer
Если вам нужен COUNT со WHERE, то не так делается.
Смотрите HAVING
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Попробуйте так:
SUM(user.status = 1)
Ответ написан
Комментировать
@baitarakhov
SELECT 
countries.short_name, 
COUNT(user.id) as cnt_all_stat_user, 
COALESCE(sum(case when user.status = 1 then 1 end),0) as cnt_stat_1_user
FROM user 
INNER JOIN countries 
	ON user.country_id = countries.country_id
GROUP BY short_name
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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