簡體   English   中英

MySQL選擇上個月完成

[英]MySQL select complete last month

如何選擇上個月(或 30 天)的所有數據?

我已經找到了一些答案,並且主要給出了這個解決方案

SELECT * 
FROM gigs
WHERE date > DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
ORDER BY date DESC

但這也給了我未來的日期

我只對上個月或 30 天(不是下個月及以后)的天數感興趣

這是你想要的嗎?

WHERE date > DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND date <= CURRENT_DATE

我添加了一個條件,以便查詢過濾日期不大於今天。 我還修改了您的代碼,因此日期范圍從一個月前開始(您有 3 個月)。

試試這個代碼

SELECT * FROM gigs
WHERE date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
ORDER BY date DESC

你要求兩個不同的東西。

過去的 30 天很容易。

date between now() - interval 30 day and now()

這個月的數據是這樣的:

date between (last_day(Now() - INTERVAL 1 MONTH) + INTERVAL 1 DAY) and last_day(Now())

幾個月前的數據是這樣的:

date between (last_day(Now() - INTERVAL 4 MONTH) + INTERVAL 1 DAY) 
       and  
             (last_day(Now() - INTERVAL 3 MONTH) + INTERVAL 1 DAY) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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