MySQL是一款常用的關系型數據庫程序,在日常開發中我們常常需要將時間按月分類,下面是一些方法:
-- SQL代碼 -- 計算每個月份的總銷售額 SELECT DATE_FORMAT(date,'%Y%m') AS month, SUM(sales) AS sum_sales FROM sales_table GROUP BY DATE_FORMAT(date,'%Y%m') ORDER BY month ASC;
以上代碼中,使用了DATE_FORMAT()函數對日期進行格式化處理,將日期格式化為年月字符串。同時使用SUM()函數進行銷售額求和,再將結果按月份分組,通過ORDER BY語句對月份排序。
-- SQL代碼 -- 計算每個月份的銷售額占比 SELECT DATE_FORMAT(date,'%Y%m') AS month, SUM(sales)/SUM(SUM(sales)) OVER() * 100 AS sales_proportion FROM sales_table GROUP BY DATE_FORMAT(date,'%Y%m') ORDER BY month ASC;
以上代碼中,使用了SUM()函數和OVER()函數進行了總銷售額的計算。通過除以總銷售額得到每個月份的銷售額占比。最后也是通過GROUP BY語句對月份進行分組,并且通過ORDER BY語句對月份進行排序。
以上兩種方法都可以用來將時間按月份分類,不同的是第一種方法計算的是每個月份的總銷售額,而第二種方法計算的是每個月份的銷售額占比。