Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте.
Есть таблица tbl_user
В ней есть столбцы: имя, статус, роль, и т.д., а также столбцы user_ip, и block_date
Командой нужно найти всех НЕ ЗАБЛОКИРОВАННЫХ пользователей, на АйПи которых, имеется более 1 учетной записи.
Вот этой командой:
SELECT `user_ip`, count(*) FROM `tbl_user` GROUP BY `user_ip` HAVING count(*)>1;
находятся все такие пользователи. Но эта команда не учитывает - заблокирован ли пользователь или нет.
Что добавить в эту команду, чтобы находились ТОЛЬКО не заблокированные пользователи?
Через поиск не заблокированные пользователи ищутся командой
SELECT * FROM `tbl_user` WHERE `block_date` IS NULL
Пытался поставить так:
SELECT `user_ip`, count(*) FROM `tbl_user` GROUP BY `user_ip` HAVING count(*)>1 and WHERE `block_date` IS NULL;
но выдается ошибка.
Неактивен
Неактивен
vasya написал:
SELECT `user_ip`, count(*) FROM `tbl_user` GROUP BY `user_ip` WHERE `block_date` IS NULL HAVING count(*)>1;
Ошибка
Статический анализ:
Найдено 1 ошибок при анализе.
Неожиданный порядок предложений. (near "GROUP BY" at position 43)
SQL запрос: Документация
SELECT `user_ip`, count(*) FROM `tbl_user` GROUP BY `user_ip` WHERE `block_date` IS NULL HAVING count(*)>1
Ответ MySQL: Документация
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'WHERE `block_date` IS NULL HAVING count(*)>1' на строке 1
Неактивен
Неактивен
Вау!!!! Класс. Тысяча благодарностей. Сработало.
Неактивен
Страниц: 1