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

Started by levantuev on 2011-12-06 10:40 — 24 replies, 4189 views

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

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

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

вот так могу скинуть с кешем. там 4 строчки всего.
#4
$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);
#5
_Xz_, кстати не поможешь ли решить вопрос того же характера но позаковыристей?
как сделать одним-двумя запросами выборку юзеров, у кого количество релизов вообще (или за месяц) больше (или меньше ну или равно) определённого числа и отсортировать по количеству релизов?
#6
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
что-то не то! Выводит просто bb_users
#7
_Xz_, кстати не поможешь ли решить вопрос того же характера но позаковыристей?
как сделать одним-двумя запросами выборку юзеров, у кого количество релизов вообще (или за месяц) больше (или меньше ну или равно) определённого числа и отсортировать по количеству релизов?
легко решаемо, если кто-нибудь приведет пример рабочий по моей просьбе, то под твою заточу
--- добавлено: Dec 7, 2011 2:11 AM ---
тебе в табличку собрать на главной?
--- добавлено: Dec 6, 2011 3:07 PM ---

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

забыл кстати добавить AND tor.reg_time > TIMENOW - месяц
#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
#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