[英]How to select information from database that is 1 day, 1 week old?
我需要修改查詢以選擇1天1周的信息。 我有2個表,一個表用於投票,其他表用於文章,它應該從articles表中查看st_date。
詢問
SELECT stories.*, SUM(votes.vote_value) as 'total_votes'
FROM stories
JOIN votes ON stories.id = votes.item_name
GROUP BY stories.id
ORDER BY total_votes DESC LIMIT 10
數據庫結構:
故事表
投票表
一周通常是7天,因此您實際上需要8天之前的數據。
WHERE st_date >= DATE_SUB(NOW(), INTERVAL 8 DAY)
您的完整查詢將是:
SELECT stories.*, SUM(votes.vote_value) as 'total_votes'
FROM stories
JOIN votes ON stories.id = votes.item_name
WHERE stories.st_date >= DATE_SUB(NOW(), INTERVAL 8 DAY)
GROUP BY stories.id
ORDER BY total_votes DESC LIMIT 10
看起來像...
在哪里st_date> =現在,間隔8天
您需要添加WHERE語句,例如
SELECT stories.*, SUM(votes.vote_value) as 'total_votes'
FROM stories
JOIN votes ON stories.id = votes.item_name
WHERE PERIOD_DIFF(CURRENT_DATE , stories.st_date) < 1
GROUP BY stories.id
ORDER BY total_votes DESC LIMIT 10
您可以通過使用DATEDIF()
mysql函數來完成此操作
您可以找到任何日期范圍使用之間的結果
st_date >= start_date AND st_date <=end_date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.