我希望顯示按月分組的一組記錄的數量,月份和年份。我正在使用以下查詢,然後使用PHP來顯示數據。按月分組記錄
SELECT COUNT(*), YEAR(award_date) AS award_date_year, MONTH(award_date) AS award_date_month
FROM projects_sell
GROUP BY YEAR(award_date),MONTH(award_date) ASC
我會更好使用以下查詢,並使用PHP從datetime中提取月份和年份嗎?我非常傾向於這樣做,我會解釋我對「更好」的解釋。我一次只顯示100條記錄,只要兩個解決方案合理密切,速度就不是問題。我的主要原因是,因爲我也有時顯示award_date格式化的日期,我希望使用PHP而不是MySQL來格式化日期,並希望將我所有的格式保留在一個位置。我不會使用這種方法的唯一原因是,如果award_date不在給定的月份/年內,或者沒有在award_date上使用某種聚合函數會導致某種問題。
SELECT COUNT(*), award_date
FROM projects_sell
GROUP BY YEAR(award_date),MONTH(award_date) ASC
當然,如果你不關心哪個award_date得到顯示! – Strawberry
@Strawberry。我一直在測試後面的代碼,並且顯示的award_date總是在給定的年份/月內,並且似乎是最接近該月的第一天的那個。情況並非總是如此嗎? – user1032531
它不能保證。 – Strawberry