Помогите составить MySQL-Запрос

Печать RSS
154

Р
Автор
Землянин
0
Здравствуйте. Прошу помощи в составлении запроса, а то совсем что то запутался.
Есть 2 таблицы. Пользователи и сообщения. Какой должен быть запрос, чтобы вывести пользователей в таком виде:
Польз1
Польз2
Польз3
...
В пордяке убывания по количеству сообщений.
С

Пришелец
0
в запросе надо выбирать пользователей, и кол--во сообщений, сортировать по кол-ву
типа
select *, (select count(*) from posts where user_id=users.id) as kolvo from users order by kolvo
как то так... поюзай гугл))
Р
Автор
Землянин
0
2. mazaHELL, спасиб, ща попробую как ты сказал)
С

Пришелец
0
только такие завпросы будут нагибать бд, если пользователей много, используй денормализацию.
при каждой отправке/удалении пересчитывай кол-во сообщений, и сохраняй в таблицу с пользователем smile smile smile

Добавлено через 01:25 сек.
у мну был случай, когда выводилось 10 пользователей на страницу, считало до 5 тис сообщений у каждого пользователя, в итоге страница генерилась за 1...3 секунды.. представь как сервер загружался

Добавлено через 09:07 сек.
вот реальный пример подсчета дневников, и коментов к ним

$q = mysql_query("select *, (select count(*) from comm_diary where diary_id=diary.id) as comments from diary order by id desc;");
Р
Автор
Землянин
0
4. mazaHELL, спасиб большое, +1, всё получилось)
Вот только после того что ты написал, я передумал так делать)) мне почему то казалось что так нагрузки меньше будет smile
Что ж, говорила мне мама учи MySQL)))) Пойду учебники читать)
С

Пришелец
0
ну так можно делать, только с кешированием, мемкеш к примеру. прочитал, записал. вывел
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск