Как сделать выборку самых популярных файлов за неделю?

  • Автор темы Автор темы vladZzz
  • Дата начала Дата начала

vladZzz

Guest
Как сделать выборку самых популярных файлов за неделю?

Люди! Помогите, мне нужно сделать выборку самых популярных файлов за НЕДЕЛЮ. как это можно сделать?
 
Покажи структуру таблиц, опиши их. И покажи как ты пытался решить этот вопрос.
 
поля по которым производится выборка:

количество скачаиваний downloads
и
дата добавления файла addtime (в формате datetime)

я пытался делать это сравнением времени в формате timestamp.
 
Еще раз. По буквам.
Покажи структру таблиц.
Затем опиши необходимые поля.
Затем покажи свой sql запрос.
Понятно?
 
id int(6) Нет auto_increment
author varchar(20) Нет
title varchar(150) Нет
text text Нет
dir varchar(100) Нет
comments int(11) Нет 0
size varchar(100) Нет 0
time datetime Нет 0000-00-00 00:00:00
type varchar(50) Нет
downloads int(11) Нет 0

Мне нужно что-то вроде:

mysql_query("SELECT * FROM files ORDER BY downloads WHERE time<=недели DESC LIMIT 8")

т.е. смысл в том, чтобы вывести самые СКАЧИВАЕМЫЕ файлы за НЕДЕЛЮ ... вот так ...

Надеюсь, я правильно в этот раз написал :)
 
Понятно.
Тебе нужен оператор DATE_FORMAT

http://dev.mysql.com/doc/mysql/ru/date-and-time-functions.html
И запрос типа:
SELECT * FROM `files` WHERE DATE_FORMAT(`time`,'%Y') = 2005 AND DATE_FORMAT(`time`,'%U') = 3 ORDER BY `downloads`

Соответственно в php предварительно вычисляешь, какой тебе нужен год и какой номер недели.
 
а если мне нужно чтобы автоматически вычислалась неделя?
 
Это не имеет значения. Вычисляй автоматически. Функция: [m]date[/m]
 
Спасибо!

-~{}~ 22.03.05 18:16:

а как сделать за 2 недели? =)
 
SELECT * FROM `files` WHERE `time` > DATE_SUB(CURDATE(), INTERVAL 14 DAY) ORDER BY downloads DESC?

Собственно, так можно и за неделю посчитать (если под неделей подразумеваются 7 последних суток, а не период с понедельника по воскресенье).
 
Сверху