SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.03.2019 16:45:15

Vbifyz
Участник
Зарегистрирован: 27.11.2018
Сообщений: 19

ищем более 1 пользователя на 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;

но выдается ошибка.

Неактивен

 

#2 21.03.2019 17:11:09

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: ищем более 1 пользователя на 1 айпи при условии, что он не заблокирован

SELECT `user_ip`, count(*) FROM `tbl_user` GROUP BY `user_ip` WHERE `block_date` IS NULL HAVING count(*)>1;

Неактивен

 

#3 21.03.2019 17:33:58

Vbifyz
Участник
Зарегистрирован: 27.11.2018
Сообщений: 19

Re: ищем более 1 пользователя на 1 айпи при условии, что он не заблокирован

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

Неактивен

 

#4 21.03.2019 17:51:30

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: ищем более 1 пользователя на 1 айпи при условии, что он не заблокирован

SELECT `user_ip`, count(*) FROM `tbl_user`  WHERE `block_date` IS NULL GROUP BY `user_ip` HAVING count(*)>1;

Неактивен

 

#5 21.03.2019 18:12:11

Vbifyz
Участник
Зарегистрирован: 27.11.2018
Сообщений: 19

Re: ищем более 1 пользователя на 1 айпи при условии, что он не заблокирован

Вау!!!! Класс. Тысяча благодарностей. Сработало.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson