簡體   English   中英

從當前月份開始按月從mysql表中獲取值的總和

[英]get sum of values from mysql table by month starting current month

嗨,我目前有兩個表,一個具有每日條目,另一個具有這些條目的總數並存儲每月值。

我可以使用下面的查詢獲取每個月和一年的總數,但是我想做的只是獲取月份大於等於當前月份的月份。 btw日期列采用日期格式(yyyy-mm-dd)

$revbyMonth = $conn->prepare("SELECT EXTRACT(MONTH FROM date) as month, EXTRACT(YEAR FROM date) as year, SUM(rev) as total FROM {$tempName} GROUP BY year, month"); 

您要在from子句之后立即添加where子句。 我認為這對您有用。 如果日期沒有時間部分:

where date > date_sub(curdate(), interval day(curdate()) day)

表達式date_sub(curdate(), interval day(curdate()) day)獲取上個月的最后一天。 如果日期具有時間成分:

where date >= date_sub(curdate(), interval day(curdate()) - 1 day)

應該管用。

注意:這比使用函數處理date其他方法更好,例如:

where year(date) > year(curdate()) or
      (year(date) = year(curdate()) and month(date) >= month(curdate()) )

使用函數會阻止MySQL在date列上使用索引。

暫無
暫無

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

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