За последние 24 часа нас посетили 17497 программистов и 1721 робот. Сейчас ищут 1662 программиста ...

А вот такой запросик?

Тема в разделе "PHP и базы данных", создана пользователем Belegnar, 26 июл 2006.

  1. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    Есть таблица, в которой есть фамилии и id. Довольно много дублирующихся. Необходимо выбрать такие id, соответствующие фамилии которых встречаются в таблице больше одного раза.

    На мискле, ессно.
     
  2. Goryn

    Goryn Активный пользователь

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    Код (Text):
    1. SELECT id
    2.  FROM Table
    3.    WHERE name IN
    4.               (SELECT name
    5.                  FROM Table
    6.                  GROUP BY name
    7.                  HAVING (COUNT(name) > 1))
     
  3. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    О как. Пасиб. :)
    Вот что с человеком оракл делает. :)
     
  4. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    Belegnar
    да.... тяжело после оракла на mysql переходить наверно.... =))
     
  5. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    В общем, разница суровая. :)
    Но тут больше роялит, что я программированием год не занимался, а занимался консультированием по ораклу. Сплошной трем, в общем. :)
     
  6. Goryn

    Goryn Активный пользователь

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    Я думаю мой запрос и на MySql отработает, т.к. в нем присутствует голый SQL без особенностей какого-либо сервера,а тэстился он воще под MsSql :D
     
  7. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    MySQL тяжко с подзапросами
     
  8. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    А вот не работает. Мискль в IN () понимает только множества, а не селекты. :(
     
  9. Goryn

    Goryn Активный пользователь

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    Тока что проверил на MySql, правда черес phpMyAdmin, все работает!
     
  10. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    Грм. У меня такой запрос
    Код (Text):
    1.  
    2. select gu_id
    3. from guests
    4. where gu_dupe in (
    5. select gu_dupe
    6. from guests
    7. group by gu_dupe
    8. having count(gu_dupe) > 1)
    дает такую ошибку
    Код (Text):
    1. #1064 - 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 'select gu_dupe
    2. from guests
    3. group by gu_dupe
    4. having count(gu_
     
  11. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    а версия какая? у меня на 5-ом отработало нормально.
    вот еще вариант:
    Код (Text):
    1. SELECT DISTINCT a.id FROM table AS a INNER JOIN table AS b ON a.id != b.id AND a.name = b.name
     
  12. Goryn

    Goryn Активный пользователь

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    Мой зпрос отработал нормально на версии моего хостера MySQL 4.1.19
     
  13. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    На 4.0.18 получается означенное выше.
    2simpson: красиво. Так и сделал. :)