Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывести список самых активных пользователей 
:(
    Опции темы
elCreator
Дата 29.4.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть таблица messages вида 
Пользователь | Сообщение
Вася                | tralala
Вася                | lalala
Соня               | tratata
Петя               | tralala
Петя                | tratata
Вася                | tralala

Нужно вывести список пользователей, отсортированный по убыванию количества сообщений, т.е. 
Вася
Петя
Соня

Как сделать с наименьшимим затратами - есть ли что-то поизящнее, чем select count(*) from messages where user= (тут перебираем в цикле имеющихся пользователей), отсортированное по убыванию?
PM WWW ICQ   Вверх
Gluttton
Дата 29.4.2009, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



Код

select S.user
from (
    select user, count(message) as mes
    from messages
        group by user
)   as S
    order by S.user



--------------------
Слава Україні!
PM MAIL   Вверх
Zloxa
Дата 29.4.2009, 21:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Gluttton
Цитата(elCreator @  29.4.2009,  20:26 Найти цитируемый пост)
отсортированный по убыванию количества сообщений


Цитата(Gluttton @  29.4.2009,  21:21 Найти цитируемый пост)
order by S.user

 smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Gluttton
Дата 29.4.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



 smile 

Протупил...

Код

select S.user
from (
    select user, count(message) as mes
    from messages
        group by user
)   as S
    order by S.mes



--------------------
Слава Україні!
PM MAIL   Вверх
elCreator
Дата 30.4.2009, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Большое спасибо, работает как надо. Еще бы в синтаксисе разобраться) пошел читать мануалы по SQL...
PM WWW ICQ   Вверх
Gluttton
Дата 30.4.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



Пожалуйста  smile !

Цитата

пошел читать мануалы по SQL...


Это лучше чем "сухая" теория!


--------------------
Слава Україні!
PM MAIL   Вверх
Deniz
Дата 30.4.2009, 06:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 6
Всего: 44



Код
select user, count(message) as mes
from messages
group by user
order by 2 desc, 1
а так не катит?

Это сообщение отредактировал(а) Deniz - 30.4.2009, 06:07


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
DimW
Дата 30.4.2009, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 4
Всего: 44



Цитата(Deniz @  30.4.2009,  06:05 Найти цитируемый пост)
а так не катит?

нет, ибо:
Цитата(elCreator @  29.4.2009,  20:26 Найти цитируемый пост)
Нужно вывести список пользователей


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




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


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

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