赞
踩
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
- select a.date AS 'xData',IFNULL(b.sum, 0) AS 'yData'
- from (
- select DATE_FORMAT(adddate(DATE_SUB(CURDATE(), INTERVAL dayofyear(now()) - 1 DAY),
- INTERVAL numlist.id - 1 month), '%m') as date
- from (SELECT @xi := @xi + 1 as id
- from (SELECT 1 UNION SELECT 2 UNION SELECT 3) xc1,
- (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) xc2,
- (SELECT @xi := 0) xc0) as numlist
- ) a
- left join
- (
- SELECT IFNULL(SUM(income),0) sum, DATE_FORMAT(time, '%m') as date
- FROM zq_cnz_hy_income_report ts
- WHERE YEAR(time)=#{year}
- GROUP BY date ORDER BY date
- ) b
- on a.date = b.date order by a.date
效果图:
- SELECT v.month AS 'xData',IFNULL(b.COUNT,0) AS 'yData' FROM (
- SELECT DATE_FORMAT(CURDATE(), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 1 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 2 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 3 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 4 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 5 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 6 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 7 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 8 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 9 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 10 MONTH), '%Y-%m') AS `month`
- UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 11 MONTH), '%Y-%m') AS `month`
- ) v
- LEFT JOIN
- (
- SELECT LEFT(a.time,7) AS 'month',SUM(income) AS COUNT
- FROM zq_cnz_hy_income_report AS a
- LEFT JOIN zq_cnz_hy_user_station zs ON a.station_id=zs.station_id
- WHERE DATE_FORMAT(a.time,'%Y-%m')>DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 12 MONTH),'%Y-%m')
- GROUP BY MONTH) AS b
- ON v.month = b.month GROUP BY v.month ORDER BY v.month
效果图:
- select a.date as 'xData',IFNULL(b.sum, 0) AS 'yData'
- from (
- select date from (
- SELECT DATE_FORMAT(DATE_SUB(last_day(curdate()), INTERVAL xc-1 day), '%Y-%m-%d') as date
- FROM (
- SELECT @xi:=@xi+1 as xc from
- (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc1,
- (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) xc2,
- (SELECT @xi:=0) xc0
- ) xcxc) x0 where x0.date >= (select date_add(curdate(),interval-day(curdate())+1 day))
- ) a
- left join
- (
- select IFNULL(SUM(income),0) sum, DATE_FORMAT(time,'%Y-%m-%d') as date
- FROM zq_cnz_hy_income_report ts
- group by DATE_FORMAT(time, '%Y-%m-%d')
- ) b
- on a.date =b.date order by a.date
效果图:
- SELECT
- b.created AS 'xData',
- IFNULL(c.sum, 0) AS 'yData'
- FROM
- (
- SELECT
- @cdate := date_add( @cdate, INTERVAL - 1 DAY ) created
- FROM
- ( SELECT @cdate := date_add( CURDATE( ), INTERVAL 1 DAY ) FROM zq_cnz_hy_income_report LIMIT 30 ) a
- ) b
- LEFT JOIN (
- select SUM(income) as sum, DATE_FORMAT(time,'%Y-%m-%d') as date
- FROM zq_cnz_hy_income_report ts
- group by DATE_FORMAT(time, '%Y-%m-%d')) c
- ON b.created = date_format( c.date, '%Y-%m-%d')
- GROUP BY
- b.created
- ORDER BY
- b.created;
效果图:
- SELECT t1.datetime as 'xData', IFNULL(t2.num, 0) AS 'yData' FROM (
- SELECT CURDATE() AS datetime
- union all
- SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS datetime
- union all
- SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS datetime
- union all
- SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS datetime
- union all
- SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS datetime
- union all
- SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS datetime
- union all
- SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS datetime
- ) t1 LEFT JOIN (
- select IFNULL(SUM(income),0) num, DATE_FORMAT(time, '%Y-%m-%d') as datetime
- FROM zq_cnz_hy_income_report ts
- GROUP BY LEFT(datetime, 10) ORDER BY datetime DESC LIMIT 7
- ) t2 ON t1.datetime = t2.datetime ORDER BY t1.datetime asc
效果图:
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。