Mysql查询当年当月

SELECT

dayTb.cday AS datatime,

IFNULL(tNumTb.num, 0) num

FROM

(

SELECT

DATE_FORMAT(

@cdate := DATE_SUB(@cdate, INTERVAL + 1 MONTH),

'%Y-%m'

) cday

FROM

(

SELECT

@cdate := DATE_SUB(CURDATE(), INTERVAL - 1 MONTH)

FROM

ctg_indent

LIMIT 12

) t0

WHERE

DATE(@cdate) < DATE_SUB(NOW(), INTERVAL - 1 MONTH)

) dayTb

LEFT JOIN (

SELECT

DATE_FORMAT(t.updateDate, '%Y-%m') AS cday,

-- COUNT(DISTINCT t.id) num

SUM(total_price) num

FROM

ctg_indent t

WHERE

seller_ID = '7d2db429e00f11e886f744a84224b0ff'

AND state = 8

GROUP BY

YEAR (t.updateDate) DESC,

MONTH (t.updateDate) DESC

) tNumTb ON tNumTb.cday = dayTb.cday

ORDER BY

datatime ASC;


效果:

SELECT

CONCAT(

YEAR (dayTb.cday),

'-',

MONTH (dayTb.cday),

'-',

DAY (dayTb.cday)

) AS days,

IFNULL(tNumTb.tradeAmountByDay, 0) tradeAmountByDay

FROM

(

SELECT

@cdate := DATE_SUB(@cdate, INTERVAL + 1 DAY) cday

FROM

(

SELECT

@cdate := DATE_SUB(CURDATE(), INTERVAL - 1 DAY)

FROM

ctg_indent

LIMIT 31

) t0

WHERE

DATE(@cdate) <

DATE_SUB(NOW(), INTERVAL - 1 DAY)

) dayTb

LEFT JOIN (

SELECT

DATE(t.updateDate) cday,

SUM(total_price) tradeAmountByDay

FROM

ctg_indent t

WHERE

seller_ID = '7d2db429e00f11e886f744a84224b0ff'

GROUP BY

cday

) tNumTb ON tNumTb.cday = dayTb.cday

ORDER BY

days DESC;


效果




最终效果

你可能感兴趣的:(Mysql查询当年当月)