Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка с сортировкой по количеству строк 
V
    Опции темы
maxipub
Дата 10.4.2014, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Добрый день!

Есть таблица с полем res_id, тип int, не уникальное. Как сделать выборку, чтоб результаты сортировались по количеству строк с одинаковым res_id, например:

Код
res_id        data
1            ...
2            ...
3            ...
1            ...
3            ...
1            ...



Результат выборки нужен такой:

Код
1            ...
1            ...
1            ...
3            ...
3            ...
2            ...


Заранее спасибо за помощь.
PM MAIL   Вверх
krypt3r
Дата 11.4.2014, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: 1
Всего: 16



Попробуйте вот такой вариант
Код

SELECT t2.cnt, t1.res_id, t1.data
FROM zzz t1
LEFT JOIN (
    SELECT COUNT(*) AS cnt, res_id 
    FROM zzz 
    GROUP BY res_id 
    ORDER BY COUNT(*) DESC
) t2 ON t1.res_id = t2.res_id
ORDER BY t2.cnt DESC;

Вывод:
Код

+------+--------+------+
| cnt  | res_id | data |
+------+--------+------+
|    3 |      1 | str1 |
|    3 |      1 | str4 |
|    3 |      1 | str6 |
|    2 |      3 | str3 |
|    2 |      3 | str5 |
|    1 |      2 | str2 |
+------+--------+------+

PM MAIL   Вверх
maxipub
Дата 11.4.2014, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



krypt3r, благодарю, клевое решение! smile

Насколько я понял, тут джойнится временная таблица? Интересный вариант, не сталкивался как-то с таким ранее. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.