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