使用mysql查询当天、近一周、近一个月及近一年的数据以及各种报表查询sql
1.mysql查询当天的数据
1 |
|
2.mysql查询昨天的数据
1 |
|
3.mysql查询近一个月的数据
1 |
|
4.mysql查询本月的数据
1 |
|
5.mysql查询上月的数据
1 |
|
6.mysql查询本年的数据
1 |
|
7.mysql查询上一年的数据
1 |
|
8.mysql查询本周数据(周一为第一天)
1 |
|
9.mysql查询近五分钟的数据
1 |
|
?10.mysql查询某年度的每个月数据报表
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
效果图:
??11.mysql查询近一年的每个月数据报表
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
效果图:
?12.mysql查询本月数据报表
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
效果图:
13.mysql查询近一个月数据报表
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;
效果图:
14.mysql查询近一周数据报表
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
效果图:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!