簡體   English   中英

如何從1天1周的數據庫中選擇信息?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM