Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Составление запроса MySQL [MySQL]


Михаил ©   (2011-02-03 14:46:00) 

Есть таблица с данными следующей структуры.

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.

Заранее благодарен!


Johnmen   (2011-02-05 14:46:00) [1]


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

Это называется паранойя.


Ega23   (2011-02-04 10:31:00) [2]


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


От жеж...
Влад, я тебя убью.


12   (2011-02-04 09:42:00) [3]


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

да ладно??!
:)


Михаил   (2011-02-04 09:31:00) [4]

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


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


Спасибо все за участие!!!


sniknik   (2011-02-04 09:22:00) [5]

> Ну это на всякий случай. чтобы вдруг там не оказалось что либо кроме NULL по умолчанию
правая рука не знает, что делает левая? оно там там окажется только если ты сам/твой заместитель туда что то не поставит. либо удалением/созданием либо через альтер тейбл.

> Что-то не работает такой запрос. Синтаксис не принимает.
в ошибке написана причина... она в принципе и отсюда видна, но... не будем вмешиваться в творческий процесс решения.


Михаил   (2011-02-04 09:21:00) [6]


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


Не
groupe by name

А
group by name


Михаил   (2011-02-04 09:20:00) [7]

Извиняюсь. Работает. Но это как бы пол задачи.


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


получил две колонки. Номер и количество таких номеров в таблице.
Но мне нужно узнать сколько таких номеров в таблице с одинаковым полем otpravka.
Допустим есть nomer = 51245, таких номеров в базе 3. а нужно узнать сколько из этих трех с одинаковым полем otpravka. Как это можно сделать?


12   (2011-02-04 09:17:00) [8]

а так?,

selct A.Name from (
> select count(*) CNT, name NAME
> from table
> groupe by name
) A
where A.CNT > 1


Михаил   (2011-02-04 09:12:00) [9]


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

Что-то не работает такой запрос. Синтаксис не принимает. У меня MySQL 5.0.51a


Михаил   (2011-02-04 09:07:00) [10]


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

Ну это на всякий случай. чтобы вдруг там не оказалось что либо кроме NULL по умолчанию


Ega23   (2011-02-03 16:10:00) [11]

select count(*), name
from table
groupe by name
having count(*) > 1


sniknik   (2011-02-03 16:08:00) [12]

> DEFAULT NULL,
глупо... оно же и так NULL, без дефаулта, неужели там действительно такой синтаксис?


Кщд   (2011-02-03 15:13:00) [13]

RTFM: group by/distinct, in/exists/any/some


Наверх

Титульная страница Поиск, карта сайта Написать письмо