Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2011, 12:13   #1
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию Создать топ активных пользователей

На проекте организую модуль Вопросы - Ответы, где пользователи могут задавать вопросы и отвечать на них.

Ниже должна быть небольшая статистика - 3 самых активных пользователей-авторов и 3 самых активных пользоватлей, которые отвечают на вопросы.

Допустим, если в упрощенном виде, структура Таблицы такая:

`questions`
имеет поля: `id` | `question` | `author`| `date`

Я выбираю из БД все вопросы за последние 24 часа. Получаю массив. В нем хранятся данные об авторах. Как определить, какие из полученых авторов задавали наибольшее количество вопросов?

Т.е. к примеру, получаю массив с авторами вопросов:

Author1, Author2, Author2, Author3, Author1, Author2, Author4, Author5, Author1, Author5, Author1 - авторы каждого вопроса, заданного за последние 24 часа.

Мне нужно узнать, кто из них задал больше всего вопросов.
No name. Just Linel.

Последний раз редактировалось Linel; 18.02.2011 в 12:18.
Linel вне форума Ответить с цитированием
Старый 18.02.2011, 12:56   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Linel Посмотреть сообщение
Как определить, какие из полученых авторов задавали наибольшее количество вопросов?
Делайте запрос количества сообщений за 24 часа, сгруппированный по Авторам, в порядке убывания количества сообщений,ну и можно имена Авторов ещё в алфавитном порядке - для ясности.

Примерно так:
Цитата:
SELECT COUNT(*) AS `count_questions`, `author` FROM `questions`
WHERE `date` >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY `author`
ORDER BY `count_questions` DESC, `author` ASC
PS: а, ну и добавьте нужное вам ограничение по количеству результатов( LIMIT 3 в вашем случае).

Последний раз редактировалось Andkorol; 18.02.2011 в 13:01. Причина: PS
Andkorol вне форума Ответить с цитированием
Старый 18.02.2011, 14:40   #3
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Благодарю за ответ
No name. Just Linel.
Linel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть Листы, не активных месяцев valerij Microsoft Office Excel 21 04.01.2011 18:29
Топ 100 лучших фильмов Alex2009 Свободное общение 20 09.11.2009 00:19
Две оси на двух активных разделах alex55 Операционные системы общие вопросы 22 17.05.2009 19:09