Как сделать вывод кто сколько релизов создал за месяц?

levantuev

Пользователь
#1
Как сделать вывод кто сколько релизов создал за месяц?
Т.Е как я понимаю основа сдесь будет запрос из БД?
в общем жду идей )))

Решено, вот sql запрос:
PHP:
SELECT u.user_id, u.username, COUNT(tor.topic_id) as releases
FROM bb_users u
LEFT outer JOIN bb_bt_torrents tor ON ( tor.poster_id = u.user_id )
LEFT outer JOIN bb_bt_users bt ON ( bt.user_id = u.user_id )
WHERE u.user_active = 1 AND tor.reg_time >= UNIX_TIMESTAMP(CONCAT(YEAR(NOW()), '-', MONTH(NOW()), '-01'))
GROUP BY u.user_id
ORDER BY releases DESC
LIMIT 30
 

casper

Пользователь
#2
ВЫБРАТЬ
КОЛИЧЕСТВО(Раздача) КАК КоличествоРелизов
ИЗ
<НужнаяТаблица>
ГДЕ
ПользовательИД = &ПользовательИД
И {УсловиеПоПериоду}

зы, оффтоп, да?:rolleyes:
 

dimka3210

Пользователь
#3
Как сделать вывод кто сколько релизов создал за месяц?
Т.Е как я понимаю основа сдесь будет запрос из БД?
в общем жду идей )))
тебе в табличку собрать на главной?
--- добавлено: Dec 6, 2011 3:07 PM ---

вот так могу скинуть с кешем. там 4 строчки всего.
 

_Xz_

Пользователь
#4
PHP:
$sql = DB()->fetch_rowset("
 SELECT u.*, bt.*,
 COUNT(tor.topic_id) as releases
 FROM bb_users u
 LEFT JOIN bb_bt_torrents tor ON ( tor.poster_id = u.user_id )
 LEFT JOIN bb_bt_users bt ON ( bt.user_id = u.user_id )
  WHERE u.user_active = 1   
  GROUP BY u.user_id");
print_r($sql);
 

fly_indiz

Пользователь
#5
_Xz_, кстати не поможешь ли решить вопрос того же характера но позаковыристей?
как сделать одним-двумя запросами выборку юзеров, у кого количество релизов вообще (или за месяц) больше (или меньше ну или равно) определённого числа и отсортировать по количеству релизов?
 

levantuev

Пользователь
#7
_Xz_, кстати не поможешь ли решить вопрос того же характера но позаковыристей?
как сделать одним-двумя запросами выборку юзеров, у кого количество релизов вообще (или за месяц) больше (или меньше ну или равно) определённого числа и отсортировать по количеству релизов?
легко решаемо, если кто-нибудь приведет пример рабочий по моей просьбе, то под твою заточу
--- добавлено: Dec 7, 2011 2:11 AM ---
тебе в табличку собрать на главной?
--- добавлено: Dec 6, 2011 3:07 PM ---

вот так могу скинуть с кешем. там 4 строчки всего.
Скинь пожалуйста, мне нужно вывести статистику на отдельную страницу на трекере.
Сделать ТОП 30 кто всех больше создал раздач за месяц.
Можешь помочь организовать такое?
 

levantuev

Пользователь
#9
проверьте работоспособность вашего варианта еще раз! Не работает...
--- добавлено: Dec 7, 2011 3:40 AM ---
Может быть так?
Код:
SELECT u.*, bt.*,
COUNT(tor.topic_id) as releases
FROM bb_users u
LEFT outer JOIN bb_bt_torrents tor ON ( tor.poster_id = u.user_id )
LEFT outer JOIN bb_bt_users bt ON ( bt.user_id = u.user_id )
  WHERE u.user_active = 1
  GROUP BY u.user_id
 

druid

Пользователь
#10
levantuev,
Код:
SELECT u.user_id, u.username, COUNT(tor.topic_id) as releases
FROM bb_users u
LEFT outer JOIN bb_bt_torrents tor ON ( tor.poster_id = u.user_id )
LEFT outer JOIN bb_bt_users bt ON ( bt.user_id = u.user_id )
  WHERE u.user_active = 1 AND tor.reg_time > UNIX_TIMESTAMP() - 30*24*60*60
  GROUP BY u.user_id
ORDER BY releases DESC