Задать вопрос
@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
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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