![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Составление запроса 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