首页 > 数据库 >mysql 常见统计方案整理汇总

mysql 常见统计方案整理汇总

时间:2022-12-08 16:45:05浏览次数:40  
标签:count -% 常见 汇总 days base mysql id select

普通分组统计

场景一:根据订单状态统计订单数量。一个很常见,也很简单的统计需求。其中状态字段是订单实体的一个属性

select count(*) count from orders group by status;

场景二:每日统计

-- 统计每日
SELECT DATE_FORMAT(create_date,'%Y-%m-%d') as days, COUNT(id) count FROM order GROUP BY days;
-- 统计每周
SELECT DATE_FORMAT(create_date,'%Y-%u') as weeks, COUNT(id) count FROM order GROUP BY weeks;
-- 统计每月
SELECT DATE_FORMAT(create_date,'%Y-%m') as months, COUNT(id) count FROM order GROUP BY months;

思考:如果其中又一天为空没有数据那么查询时间就有间隔了。如何解决如下

    select tmp.days,
    case when base.count >0 then base.count else tmp.count end as count
    from 
    (select DATE_ADD('2020-01-01', INTERVAL ( cast( help_topic_id AS signed INTEGER ) + 1 ) DAY) as days,(select 0 ) as count  from  mysql.help_topic where  help_topic_id < DATEDIFF('2022-12-12', '2020-01-01'))
    tmp    
    left join
    (select base.* from (SELECT FROM_UNIXTIME(ctime,'%Y-%m-%d') as days, COUNT(id) count FROM orders GROUP BY days) base)
    base 
    on tmp.days = base.days;

进一步思考:获取的数据多少是根据表[ mysql.help_topic]里面数据量的多少来展示,如果在实际开发过程中要设置这个表数据量的大小

区间范围统计

标签:count,-%,常见,汇总,days,base,mysql,id,select
From: https://www.cnblogs.com/zh718594493/p/16966517.html

相关文章

  • MySQL性能监控命令explain,profile
    这种理论性的东西网上搜一搜到处都是,但是遇到问题还是要亲自用一下。explain命令查看查询优化器如何决定查询的主要方法。即查看sql的执行效率,帮助我们分析select语句,让我......
  • MySql存储引擎InnoDB和MyISAM
    MySql存储引擎MyISAM:拥有较高的插入,查询速度,但不支持事务InnoDB:5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定mysql的底层使用b+树来存储索......
  • centos7下通过yum安装mysql。
    1.检查mysql是否安装yumlistinstalled|grepmysql如果有的话就全部卸载:yum-yremove+数据库名称2.MySQL依赖libaio,所以先要安装libaioyumsearchlibaio#检索相......
  • kubernetes部署mysql5.7(单节点)
    创建mysql的命名空间kubectlcreatenamespacedev-mysql创建四个yuml文件[root@mastermysql]#touchmysql-pv.yaml[root@mastermysql]#touchmysql-pvc.yaml[root@mast......
  • mysql事务隔离级别与脏读、幻读、不可重复读
    mysql数据库,当且仅当引擎是InnoDB,才支持事务;1、隔离级别事务的隔离级别由低到高依次为分为:未提交读(readuncommitted)、已提交读(readcommitted)、可重复读(repeatablere......
  • mysql 表增加索引
    1.PRIMARYKEY(主键索引)mysql>ALTERTABLE`table_name`ADDPRIMARYKEY(`column`)2.UNIQUE(唯一索引)mysql>ALTERTABLE`table_name`ADD......
  • MySQL主从复制与读写分离
         一、MySQL主从复制1.1MySQL的复制类型基于SQL语句的复制(STATEMENT默认)在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语......
  • MySQL之MHA高可用配置及故障切换
    一、MHA的概述1、MHA的概念2.MHA的组成3.MHA的特点二、搭建MySQLMHA的操作步骤1、实验思路2、环境准备3、修改Master、Slave1、Slave2节点的主机名4、修改M......
  • Mysql中where if问题
    网上关于Mybatis中where与if的说法乱七八糟的,Myabtis官网写的很清晰。为了防止误导他人,在此记录:1.where语句+<if>标签<selectid="findActiveBlogLike"resultTy......
  • 对于CocoaPods的简单理解,实践安装使用过程和常见问题
    (本文是自己通过其他文章进行的自我编辑和简单修改,请大家凑活看看。)一、什么是CocoaPodsCocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地......