Конференция "Базы" » Составление запроса MySQL [MySQL]
 
  • Михаил (03.02.11 14:46) [0]
    Есть таблица с данными следующей структуры.

    CREATE TABLE IF NOT EXISTS `myTable` (
     `id` int(11) NOT NULL AUTO_INCREMENT,
     `nomer` varchar(8) DEFAULT NULL,
     `otpravka` datetime DEFAULT NULL,
     ......
     здесь еще много полей. Но они не имеют значения в моем вопросе.
     ......
     PRIMARY KEY (`id`)
    )



    Мне нужно построить такой запрос, который выведет все записи с одинаковым полем nomer и otpravka. Или хотябы количество таких записей.
    Т.е. выявить повторяющиеся записи по полям nomer и otpravka.

    Заранее благодарен!
  • Кщд (03.02.11 15:13) [1]
    RTFM: group by/distinct, in/exists/any/some
  • sniknik © (03.02.11 16:08) [2]
    > DEFAULT NULL,
    глупо... оно же и так NULL, без дефаулта, неужели там действительно такой синтаксис?
  • Ega23 © (03.02.11 16:10) [3]
    select count(*), name
    from table
    groupe by name
    having count(*)
    > 1

  • Михаил (04.02.11 09:07) [4]

    > sniknik ©   (03.02.11 16:08) [2]

    Ну это на всякий случай. чтобы вдруг там не оказалось что либо кроме NULL по умолчанию
  • Михаил (04.02.11 09:12) [5]

    > Ega23 ©   (03.02.11 16:10) [3]

    Что-то не работает такой запрос. Синтаксис не принимает. У меня MySQL 5.0.51a
  • 12 © (04.02.11 09:17) [6]
    а так?,

    selct A.Name from (
    > select count(*) CNT, name NAME
    > from table
    > groupe by name
    ) A
    where A.CNT > 1
  • Михаил (04.02.11 09:20) [7]
    Извиняюсь. Работает. Но это как бы пол задачи.


    select Count(*), nomer
    from myTable
    group by nomer



    получил две колонки. Номер и количество таких номеров в таблице.
    Но мне нужно узнать сколько таких номеров в таблице с одинаковым полем otpravka.
    Допустим есть nomer = 51245, таких номеров в базе 3. а нужно узнать сколько из этих трех с одинаковым полем otpravka. Как это можно сделать?
  • Михаил (04.02.11 09:21) [8]

    > 12 ©   (04.02.11 09:17) [6]


    Не
    groupe by name

    А
    group by name
  • sniknik © (04.02.11 09:22) [9]
    > Ну это на всякий случай. чтобы вдруг там не оказалось что либо кроме NULL по умолчанию
    правая рука не знает, что делает левая? оно там там окажется только если ты сам/твой заместитель туда что то не поставит. либо удалением/созданием либо через альтер тейбл.

    > Что-то не работает такой запрос. Синтаксис не принимает.
    в ошибке написана причина... она в принципе и отсюда видна, но... не будем вмешиваться в творческий процесс решения.
  • Михаил (04.02.11 09:31) [10]
    Решил проблему.


    SELECT nomer, CNT FROM
    (SELECT Count(*) as CNT, nomer, otpravka FROM myTable
    GROUP BY nomer, otpravka) as A
    WHERE A.CNT > 1



    Спасибо все за участие!!!
  • 12 © (04.02.11 09:42) [11]

    > Михаил   (04.02.11 09:21) [8]

    да ладно??!
    :)
  • Ega23 © (04.02.11 10:31) [12]

    > Решил проблему.


    От жеж...
    Влад, я тебя убью.
  • Johnmen © (05.02.11 14:46) [13]

    >  Михаил   (04.02.11 09:07) [4]
    >
    >
    > > sniknik ©   (03.02.11 16:08) [2]
    >
    > Ну это на всякий случай. чтобы вдруг там не оказалось что
    > либо кроме NULL по умолчанию

    Это называется паранойя.
 
Конференция "Базы" » Составление запроса MySQL [MySQL]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]