sql 月报表每日数据汇总
发布网友
发布时间:2022-04-25 14:18
我来回答
共2个回答
懂视网
时间:2022-05-03 14:43
1、背景
背景:测试报表时,经常涉及到不同时间段的数据查询,那么此时我们需借助SQL语句进入数据库查询,比对界面统计的数据是否一致。
常用的时间段查询有:当天,昨天,近7天,近30天,本月,当月...等.
2、时间查询SQL语句
【一】查询当天语句
语句1:SELECT * FROM 表名 WHERE 时间字段名=‘当前日期‘;--其中时间字段名即是表中对应存在的时间字段
语句2:SELECT * FROM 表名 WHERE to_days(`时间字段名`) = to_days(now());
【二】查询昨天语句
语句1:SELECT * FROM 表名 WHERE 时间字段= ‘昨天日期‘;
语句2:SELECT * FROM 表名 WHERE to_days(now())-to_days(`时间字段`) = 1;
【三】查询近7天语句
语句1:SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段) ;
【四】查询近30天语句
语句1:SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名);
【五】查询本月语句
语句1:SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, ‘%Y%m‘ ) = DATE_FORMAT( CURDATE( ) , ‘%Y%m‘ );
【六】查询上个月语句
语句1:Select * from 表名 where 时间字段名>=‘上月第一天日期‘ and 时间字段名<=‘上月最后一天日期‘;
语句2:Select * from 表名 where 时间字段名 LIKE ‘2020-05%‘;
【七】查询上周语句
语句1:Select * from 表名 where YEARWEEK(date_format(`时间字段名`,‘%Y-%m-%d‘)) = YEARWEEK(now())-1;
【八】查询截止当前本月语句
语句1:Select * from 表名 where date_format(`时间字段名`, ‘%Y%m‘) = date_format(curdate() , ‘%Y%m‘);
报表测试必备时间查询SQL汇总
标签:ima curd arw 查询 val date sql语句 form 当前日期
热心网友
时间:2022-05-03 11:51
看着没人回,我回复一下,这个问题是一个常规的交叉查询法,办法一般有两个
一个是把日期作为自定义字段名,用CASE把结果一个一个字段写入,这个要写31个,比较麻烦。大概样式为SELECT 年 ,月,(case day(日期) when 1 then 金额 else 0 end )1号 ,……from where group by 样式
另一个是建一个按你每二个表样式的临时表,把符合条件的值INSERT入这张临时表,然后再执行SELECT SUM() FROM GROUP BY样式