2016-12-29 1 views
0

У меня есть таблица для используемых IP-адресов и связанного с ней пользователя. Теперь я знаю, как я бы выбрал несколько записей одного и того же IP-адреса, но как бы я мог выбрать только несколько записей с помощью другого userId?MySQL - выберите несколько строк с одинаковыми значениями, причем один из них должен быть другим

ответ

1

Вы можете использовать условную агрегацию по каждому IP-адресу и проверить, связано ли с этим IP-адресом более одного пользователя.

SELECT ip 
FROM yourTable 
GROUP BY ip 
HAVING COUNT(DISTINCT userid) > 1 -- or a higher number if you want 
+0

Это то, что мне было нужно , Спасибо! – user1826176

-1

вы можете использовать SQL JOIN сделать это для вас INNER JOIN получает все записи из одной таблицы, которые имеют некоторую соответствующую запись во второй таблице

LEFT JOIN получает все записи из СЛЕВА но если вы выбрали некоторые столбцы из таблицы RIGHT, если нет соответствующих записей, то эти столбцы будут содержать NULL

ПРАВОЕ СОЕДИНЕНИЕ похоже на выше, но ge тс все записи в таблице справа

ПОЛНЫЙ РЕГИСТРИРУЙТЕСЬ получает все записи из обеих таблиц и помещает NULL в столбцах, где связанные записи не существуют в противоположном таблице

SQL joins

Смежные вопросы