mysql查詢去年1-12所有月份,查詢今年1月至當前月的數據,查詢今年1月至12月所有數據


 

-----------------------查詢去年1-12月所有的月份,粘貼即可運行

SELECT
CASE

WHEN
length( mon ) = 1 THEN
concat( LEFT ( CURRENT_DATE, 5)-1, '-0', mon ) ELSE concat( LEFT ( CURRENT_DATE, 5 )-1,'-', mon )
END months
FROM
( SELECT @m := @m + 1 mon FROM t_mscm_sales, ( SELECT @m := 0 ) a ) aa
LIMIT 12

 

 

 

 

-----------------------------------查詢去年1-12月所有數據,若當月無數據,展示0

 

SELECT
a.months,
IFNULL( ROUND( b.total / 10000, 2 ), 0 ) total
FROM
(
SELECT
CASE

WHEN
length( mon ) = 1 THEN
concat( LEFT ( CURRENT_DATE, 5 ) - 1, '-0', mon ) ELSE concat( LEFT ( CURRENT_DATE, 5 ) - 1, '-', mon )
END months
FROM
( SELECT @m := @m + 1 mon FROM t_mscm_sales, ( SELECT @m := 0 ) a ) aa
LIMIT 12
) a
LEFT JOIN ( SELECT SUM( f_total ) total, DATE_FORMAT( update_time, '%Y-%m' ) time, c_number FROM t_mscm_sales WHERE n_states = 6 GROUP BY time ) b ON a.months = b.time
ORDER BY
a.months

 

 

 

 

 

 

 

 

 

 

 

 ------------------------------------查詢今年1月至當前月數據,若無數據展示0

 

 

 

SELECT m.months,
IFNULL( ROUND( t.total / 10000, 2 ), 0 ) total
FROM
(
SELECT
CASE

WHEN
length( mon ) = 1 THEN
concat( LEFT ( CURRENT_DATE, 5 ), '0', mon ) ELSE concat( LEFT ( CURRENT_DATE, 5 ), mon )
END months
FROM
( SELECT @m := @m + 1 mon FROM t_mscm_sales, ( SELECT @m := 0 ) a ) aa
LIMIT 9
) m
LEFT JOIN (
SELECT
SUM( f_total ) total,
DATE_FORMAT( update_time, '%Y-%m' ) update_time
FROM
t_mscm_sales
WHERE
n_states = 6
GROUP BY
DATE_FORMAT( update_time, '%Y-%m' )
) t ON m.months = t.update_time
ORDER BY
m.months

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM