|
|
|
| Помогите мне с SQL - запросом. Мне нужно вывести из базы данных все уникальные записи и количество каждой из таких записей. Т.е. например есть таблица с записями:
Один
Один
Один
Два
Два
Три
Четыре
|
надо вывести:
Один | 3
Два | 2
Три | 1
Четыре | 1
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(14.08.2005 в 13:42)
| | Такого рода запросы, выполняются при помощи комбинации одной из агрегатных функций (здесь это COUNT() - подсчёт числа строк) и конструкции GROUP BY
SELECT name, COUNT(name)
FROM tbl
GROUP BY name;
|
| |
|
|
|
|
|
|
|
для: cheops
(14.08.2005 в 14:11)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Евгений Петров
(14.08.2005 в 14:26)
| | А ещё вопрос! Отсортировать эти данные по числу строк (т.е по COUNT())? | |
|
|
|
|
|
|
|
для: Евгений Петров
(21.08.2005 в 22:19)
| | Для этого, столбцу с COUNT(name) следует назначить псевдоним и сортировать по нему
SELECT name, COUNT(name) AS total
FROM tbl
GROUP BY name
ORDER BY total;
|
| |
|
|
|
|
|
|
|
для: cheops
(22.08.2005 в 02:10)
| | На сколько я знаю, чтобы вывести только уникальные значения нужно воспользоваться конструкцией
SELECT DISTINCT COUNT(name), name AS total
FROM tbl
GROUP BY name
ORDER BY total;
|
| |
|
|
|