统计分析类目下mysql快速查询应用
2017-11-15 11:41
381 查看
统计分析在web开发中必不可少,往往网上说的都太过于松散,没有集中总结归纳,博主不才,整理了一下相关得sql语句,方便博主日后查看,更为了帮助一些需要得人,共勉。
![](https://img-blog.csdn.net/20171115111641659?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmY5MDYzMTcwMTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如果需要查询具体信息,比如发布了一些文章,然后根据时间查询文章数,则将sum(cnt)改为count(文章所对应字段),则可以查询出相对应得数据总和。
如果需要根据条件查询,在后面加入相应条件即可
例:
![](https://img-blog.csdn.net/20171115113746676?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmY5MDYzMTcwMTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
希望可以帮助到大家,我们不止会New!
根据各时间段进行统一查询
#本周数据 insert into my_tab VALUES(now(),2); insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -1 DAY),3); insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -2 DAY),4); #本月数据(包括上面的数据) insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -8 DAY),3); insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -10 DAY),4); #三月数据(包括上面的数据) insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -1 MONTH),3); insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -2 MONTH),4); #本年数据(包括上面的数据) insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -4 MONTH),8); insert into my_tab VALUES(DATE_ADD(now(),INTERVAL -6 MONTH),8); select * from my_tab /* dt cnt 2017-11-15 2 2017-11-14 3 2017-11-13 4 2017-11-07 3 2017-11-05 4 2017-10-15 3 2017-09-15 4 2017-07-15 8 2017-05-15 8 */ select * from ( select sum(cnt) as 本周数据 from my_tab where DATE_FORMAT(dt,'%y%m%d') between DATE_FORMAT(subdate(now(),date_format(curdate(),'%w')-1),'%y%m%d') and DATE_FORMAT(subdate(now(),date_format(curdate(),'%w')-7),'%y%m%d') #以上where本周数据统计的是本周一到这周日的数据和,如果你要统计今天往前7天的数据,用下面的where #where DATE_FORMAT(dt,'%y%m%d')+7>DATE_FORMAT(now(),'%y%m%d') )a,( select sum(cnt) as 本月数据 from my_tab where month(dt)=MONTH(now()) ) b,( select sum(cnt) as 三月数据 from my_tab where month(dt)+3>MONTH(now()) ) c,( select sum(cnt) as 本年数据 from my_tab where YEAR(dt)=YEAR(now()) ) d
如果需要查询具体信息,比如发布了一些文章,然后根据时间查询文章数,则将sum(cnt)改为count(文章所对应字段),则可以查询出相对应得数据总和。
如果需要根据条件查询,在后面加入相应条件即可
例:
select * from ( select sum(cnt) as 本周数据 from my_tab where DATE_FORMAT(dt,'%y%m%d') between DATE_FORMAT(subdate(now(),date_format(curdate(),'%w')-1),'%y%m%d') and DATE_FORMAT(subdate(now(),date_format(curdate(),'%w')-7),'%y%m%d') 以上where本周数据统计的是本周一到这周日的数据和,如果你要统计今天往前7天的数据,用下面的where where DATE_FORMAT(dt,'%y%m%d')+7>DATE_FORMAT(now(),'%y%m%d') )a,( select sum(cnt) as 本月数据 from my_tab where month(dt)=MONTH(now()) ) b,( select sum(cnt) as 三月数据 from my_tab where month(dt)+3>MONTH(now()) ) c,( select sum(cnt) as 本年数据 from my_tab where YEAR(dt)=YEAR(now()) ) d,( select 条件字段 from 子表 LEFT JOIN 关联表 on 关联条件 ) e
希望可以帮助到大家,我们不止会New!
相关文章推荐
- Excel在统计分析中的应用—第三章—数据库统计函数与数据透视表-Part1-(数据查询与筛选、分类汇总)
- 从应用上来分析mysql的查询缓存
- mysql 慢查询统计分析脚本
- 高性能可扩展mysql(执行计划,索引分析优化改写,删除重复数据,区间统计,满查询日志)
- PHP查询MySQL大量数据的内存占用分析
- 高性能MySQL之Count统计查询
- python分析mysql-binlog,统计时间段内各表的操作次数_2016041302
- MySQL 查询某个列中同样值的数量统计
- mysqldumpslow 分析mysql慢查询
- Excel在统计分析中的应用—第六章—抽样与抽样分布-Part2(等距抽样)
- Excel在统计分析中的应用—第五章—统计指数-Part3- 综合指数(现期加权指数(帕氏指数))
- 记录一个mysql按日期分组统计的查询
- Mysql慢查询和慢查询日志分析
- Mysql 列转行统计查询 、行转列统计查询
- Excel在统计分析中的应用—第六章—抽样分布-小样本的抽样分布(卡方分布(x^2分布))
- 统计分析与数据挖掘所涉及的应用领域探讨
- 统计分析和数据挖掘的应用
- 用Kibana和logstash快速搭建实时日志查询、收集与分析系统
- 用Kibana和logstash快速搭建实时日志查询、收集与分析系统
- mysql的where查询语句后有多个“or”的SQL语句执行分析!