За последние 24 часа нас посетили 18067 программистов и 1616 роботов. Сейчас ищут 1450 программистов ...

Выборка одинаковых значений

Тема в разделе "MySQL", создана пользователем bFree, 23 ноя 2008.

  1. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Нужно выбрать из таблицы записи, значения одного из полей которых одинакого (но мы не знаем, чему оно равно)
    Например в системе тестирования надо таким запросом выбрать все записи, содержащие одинаковые значения в поле replies (ответы). Это возможно сделать SQL-запросом? Если да, то как?
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    SELECT * FROM `tbl` WHERE `id` IN (SELECT `id` FROM `tbl` GROUP BY `replies`)
     
  3. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Немного не понял
    выполняю
    Код (Text):
    1. SELECT * FROM `Results` WHERE `rid` IN (SELECT `rid` FROM `Results` GROUP BY `replies`)
    И получаю несколько невалидных записей \=
    Можете объяснить алгоритм запроса?
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    [sql]SELECT field, COUNT(*) AS count FROM table GROUP BY field HAVING count > 1[/sql]
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    блин :) я дурень...
     
  6. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    хм.. выполняю и получаю кол-во нужных мне записей. Может я что-то не то делаю?
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А что, нужно получить кол-во не нужных?

    Напишите структуру базы, пару-тройку полей оттуда и результат, который необходимо получить.
     
  8. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Да и как выяснилось, некореектно тягает \=
    структура таблицы Results:
    Код (Text):
    1. rid | userid | score | replies | themeid | themeid | date | hide
    Все здорого с запросом Sergey89, он дает мне значение поля replies, которое может быть одинакого в записях, но выдает некорректно \=
     
  9. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    UPD: забыл добавить: искать одинаковые значения replies следует только у одинаковых themeid
    я в ступоре.
     
  10. Frozen

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

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    [sql]GROUP BY themeid, replies[/sql]