Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL, выбрать одинаковые ники но разные ID 
V
    Опции темы
Black
Дата 11.11.2010, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: нет
Всего: 45



Есть таблица. Там два поля, например:
login | id

Надо сделать такой запрос, чтобы вывести только такие логины у которых в базе есть два и более ID причем именно разных ID.
То есть, если есть такая таблица:

vasya  1
kolya  2
vasya 1
vasya 1
kolya 2
dima 3
dima 3
kolya 4

надо выбрать в итоге ник kolya так как ему есть два id 2 и 4

Не могу понять как составить такой запрос. 
Спасибо за помощь.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Akina
Дата 11.11.2010, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Код

SELECT DISTINCT t1.login
FROM tab AS t1
   , tab AS t2 
WHERE (t1.id <> t2.id) 
  AND (t1.login = t2.login);


Это сообщение отредактировал(а) Akina - 11.11.2010, 23:45


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Black
Дата 11.11.2010, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: нет
Всего: 45



Спасибо. Только запрос очень очень долго выполняется не могу дождаться конца. Наверное, мне надо делать индексы.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Akina
Дата 12.11.2010, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Цитата(Black @  12.11.2010,  00:59 Найти цитируемый пост)
запрос очень очень долго выполняется не могу дождаться конца

Если СУБД позволяет- используй подзапрос.
Код

SELECT q1.login
FROM 
(
   SELECT DISTINCT tab.login, tab.id
   FROM tab
) AS q1
GROUP BY q1.login
HAVING Count(q1.id)>1;


Это сообщение отредактировал(а) Akina - 12.11.2010, 09:21


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 12.11.2010, 09:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Код

SELECT login
FROM  tab 
GROUP BY login
HAVING Count(distinct id)>1;


Это сообщение отредактировал(а) Zloxa - 12.11.2010, 10:18


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 12.11.2010, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Цитата(Zloxa @  12.11.2010,  10:55 Найти цитируемый пост)
GROUP BY q1.login

q1 - лишнее...

Цитата(Zloxa @  12.11.2010,  10:55 Найти цитируемый пост)
Count(distinct id)

Не каждая СУБД это поймёт...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 12.11.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3470
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(Akina @  12.11.2010,  10:04 Найти цитируемый пост)
q1 - лишнее...

ах черт, спалился.... я думал я быстро исправился smile

Цитата(Akina @  12.11.2010,  10:04 Найти цитируемый пост)
Не каждая СУБД это поймёт... 

А кто не поймет, не можешь подсказть? Это вроде как ансевая штука.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 12.11.2010, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 453



Цитата(Zloxa @  12.11.2010,  11:17 Найти цитируемый пост)
кто не поймет, не можешь подсказть?

Попробуй в MS Access, например.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.1509 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.