Как ограничить запрос MySQL, а также ограничить его отметкой времени? - PullRequest
2 голосов
/ 04 июня 2011

Как я могу получить запрос MySQL, как это:

SELECT id,title,timestamp,upvotes,downvotes,views FROM {$table} ORDER BY count DESC LIMIT $start_from, 20

и на основе timestamp (которая является стандартной меткой времени mysql)

сделать мой MySQL не только LIMIT $start_from, 20, но и в дополнение ...

Ограничение по:

если это было сделано сегодня если это было сделано между сегодняшним днем ​​и неделей назад если это было сделано между сегодняшним днем ​​и месяцем назад

Есть идеи?

Ответы [ 3 ]

8 голосов
/ 04 июня 2011
SELECT id, title, timestamp, upvotes, downvotes, views 
FROM {$table} 
WHERE timestamp >= DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH) 
ORDER BY count 
DESC LIMIT $start_from, 20

Справочное руководство по MySQL DATE_SUB

2 голосов
/ 04 июня 2011
SELECT id,title,timestamp,upvotes,downvotes,views 
FROM {$table} 
where timestamp >= now() - interval 1 week

SELECT id,title,timestamp,upvotes,downvotes,views 
FROM {$table} 
where timestamp >= now() - interval 1 month 
1 голос
/ 04 июня 2011

Добавьте предложение where, чтобы проверить отметку времени для нужного диапазона.

...