www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 17/12/05 в 16:46 |
Есть таблица AAA с одним единственным полем bbb. Это поле содержит неуникальные значения. Допустим в этом поле содержатся следующие 10 записей:
Код: | aa
bb
bb
aa
aa
cc
dd
dd
dd
dd |
Помогите сформировать MySQL запрос, чтобы вывести следующую информацию (значение поля, кол-во значений этого поля в таблице):
Код: | dd, 4
aa, 3
bb, 2
cc, 1 |
Именно чтобы сортировка шла по количеству значений этого поля.
На данный момент остановлися на следующем запросе:
Код: | select bbb, count(bbb) from AAA group by bbb |
Получается почти то, что надо, но сортировка идет по полю bbb.
Всем рейтинг.
|
|
|
|
/dev/awm
С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127
|
Добавлено: 17/12/05 в 16:54 |
A d u l t писал: | Код: | select bbb, count(bbb) from AAA group by bbb | |
а интересно как можно сделать _иначе_.
нет, конечно можно, но это имху - лучший способ.
да, груп бай использовать надо реже, т.к. это тяжелый запрос, но и задача у тебя не очень простая. именно для таких задач груп бай и создавался.
можно конечно посмотреть вариант, когда все выгребается в массив и там "уникалится". надо смотреть и сравнивать по бенчмаркам.
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 17/12/05 в 17:01 |
Да иначе и не требуется. Надо доработать именно этот запрос, чтобы сортировка шла по количеству. Был бы это оракл или скуэль, то дело решается вложенным запросом, но в том то и дело, что это MySQL.
А складывать все это в массив и затем сортировать вручную - это полный изврат.
|
|
|
|
/dev/awm
С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127
|
Добавлено: 17/12/05 в 17:11 |
а, сорри, пропустил про сортировку.
ну это тоже банально:
Код: |
select bbb, count(bbb) as srt from AAA group by bbb order by srt
|
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 17/12/05 в 17:16 |
Вот спасибо, бро. Совсем забыл про as srt.
Пытался сделать order by count(bbb) - ругается.
Рейтинг +5
|
|
|
|
С нами с 03.08.04
Сообщения: 129
Рейтинг: 263
|
Добавлено: 17/12/05 в 23:58 |
чуть короче -
Код: | select bbb, count(bbb) from AAA group by bbb order by 2 |
или ещё чуть короче
Код: | select bbb, count(bbb) from AAA group by 1 order by 2 |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |