簡體   English   中英

從上個月的SQL中選擇數據

[英]Select data from last month sql

我可以從以下月份的數據庫數據中選擇以下代碼:

SELECT * FROM daily_reports
WHERE username = '$username' and MONTH(date) = MONTH(Now())
order by date DESC

現在我想顯示上個月的數據。

列日期是類型日期

嘗試這個

SELECT * FROM daily_reports 
WHERE username = '$username' 
and MONTH(date) = MONTH(DATE_ADD(Now(), INTERVAL -1 MONTH)) order by date DESC

這應該工作:

SELECT *
 FROM daily_reports 
WHERE username = '$username' 
and MONTH(date) = MONTH(DATE_ADD(Now(), INTERVAL -1 MONTH))
 order by date DESC
SELECT 
  * 
FROM
  daily_reports 
WHERE username = '$username' 
  AND dateColumn BETWEEN SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW();
ORDER BY DATE DESC 

您可以對日期進行許多操作,如精美手冊中所示。

就您而言, DATE_SUB函數可能是最清晰的:

SELECT * FROM daily_reports
WHERE username = '$username' AND MONTH(date) = MONTH(DATE_SUB(Now(), INTERVAL 1 MONTH)
ORDER BY date DESC
date BETWEEN date_format
(NOW() - INTERVAL 1 MONTH, '%Y-%m-01') 
AND last_day(NOW() - INTERVAL 1 MONTH)

暫無
暫無

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

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