首页
学习
活动
专区
圈层
工具
发布

mysql中关于时间统计的sql语句总结

在之前写VR360时有一个统计页面(https://vr.beifengtz.com/p/statistics.html),在此页面的数据统计时用到了很多mysql中日期函数和时间统计sql语句,当时也是参考了一些资料才写出来的...在平时开发中,涉及到统计数据、报表甚至大数据计算时一定会使用这些日期函数,其他关系数据库也是类似的,我是以mysql为例,比较简单还免费嘛。...话不多说,下面直接列出常用的时间统计sql语句,记录下来方便以后学习巩固。...常用统计SQL 查询一天内的数据 select * from table where to_days(column_time) = to_days(now()); select * from table...date_fo rmat(` date`,'%V')='{某周}' select count(*) from `table` where date_format(`date`,'%c')='{某月}' 统计每天的访问数量

4.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL按小时分组统计日志记录数量

    业务场景 MySQL按小时分组统计日志记录数量。...最近需要统计一些日志流水,统计出打卡的高峰期,所以需要对日志流水按小时进行分组统计,统计出每半小时或者每小时内的打卡次数 按小时统计 这里使用DATE_FORMAT函数,然后再根据createTime进行分组...: 每半小时统计 要统计每半小时内的打卡次数,可以使用,MINUTE先获取对应日期的分钟,半小时就是30分钟,floor(MINUTE(create_time) / 30)是进行四舍五入计算,再乘以...: 基于此,还可以继续拓展,按每N分钟、每分钟、每天进行分组统计 每N分钟统计 前面是按照半小时(30分钟),依此类推,可以按n分钟进行分组统计,统计n分钟内的打卡次数,比如统计每10分钟内的打卡次数...10分钟内的打卡次数 按分钟统计 如果要按分钟进行分组,统计每分钟内的打卡次数 SELECT device_id, DATE_FORMAT( create_time, '%Y-%m-%d

    3.2K10

    MySQL查询进阶相关sql语句

    id desc; -- 按照年龄从小到大, 身高从高到矮的排序 select * from students order by age asc, height desc; 聚合函数 利用聚合函数可以统计数据...一般情况下, 与分组结合使用, 单独使用没有意义 -- 总数 count(*) 括号中写信号或者字段名, 最终计算结果相同, 都是统计的查询后结果的行数 -- 查询学生总数 select count(...dis.* from areas as dis inner join areas as c on c.id = dis.pid where c.title = '台州市'; 子查询 在一个select语句中嵌入另一个...select语句, 那么被嵌入的select语句称之为子查询语句, 而最外层的select语句称之为主查询语句 -- 标量子查询: 子查询返回的结果是一个数据(一行一列) -- 查询大于平均年龄的学生

    5.2K20

    【MySQL】MySQL中SQL语句的索引分析

    MySQL中SQL语句的索引分析 了解过 索引 的概念以及 B+树 的概念之后,我们就来看看怎么分析一条查询语句的索引使用情况。...相信不少同学应该都使用过 EXPLAIN 来分析 SQL 语句,但是具体到 EXPLAIN 中每个字段的作用,可能有不少同学还是会有点晕的。...EXPLAIN语句 接下来,我们使用 EXPLAIN 来查看这条语句。...目前,我们的表中没有建立任何索引,只有一个主键索引,因此,上面的查询中,大部分的分析结果都是 NULL ,同时 rows 显示的行数也是全部数据的数量,也就是说,在没走索引的情况下,现在我们的查询是一个全表扫描...system 当表中只有一要记录并且使用的是 MyISAM、MEMORY 的统计数据是精确的,那么查询计划结果就是 system 。

    1.6K10

    MySQL执行sql语句的机制

    查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除,因为这个功能不太实用)。...分析器: 没有命中缓存的话,SQL 语句就会经过分析器,分析器说白了就是要先看你的 SQL 语句要干嘛,再检查你的 SQL 语句语法是否正确。...第一步,词法分析,一条 SQL 语句有多个字符串组成,首先要提取关键字,比如 select,提出查询的表,提出字段名,提出查询条件等等。做完这些操作后,就会进入第二步。...第二步,语法分析,主要就是判断你输入的 sql 是否正确,是否符合 MySQL 的语法。 优化器: 按照 MySQL 认为最优的方案去执行。 执行器: 执行语句,然后从存储引擎返回数据。...SQL 等执行过程分为两类, 一类对于查询等过程如下:权限校验—-》查询缓存—-》分析器—-》优化器—-》权限校验—-》执行器—-》引擎 对于更新等语句执行流程如下:分析器——》权限校验——》6267

    5.1K30

    MySQL基本命令-SQL语句

    服务端命令SQL 在数据库系统中,SQL语句不区分大小写(建议用大写) SQL语句可单行或多行书写,以“;”结尾 关键词不能跨多行或简写 用空格和缩进来提高语句的可读性 子句通常位于独立行,便于编辑...,提高可读性 注释: SQL标准: /*注释内容*/ 多行注释 -- 注释内容 单行注释,注意有空格 MySQL注释: # SQL优化 查询时,能不要*就不用*,尽量写全字段名 大部分情况连接效率远大于子查询...多表连接时,尽量小表驱动大表,即小表 join 大表 在千万级分页时使用limit 对于经常使用的查询,可以开启缓存 多使用explain和profile分析查询语句 查看慢查询日志,找出执行时间长的...sql语句优化 sql查询:单表查询和多表查询 两张表合并:横向合并、纵向合并 纵向合并:两张表挑出相同的字段进行合并(注意顺序) 范例 SQL查询范例 1、给表的字段名添加别名 select stuid...students表总共有多少行 select count(*) from students; 11、统计age年龄的总和 select sum(age) from students; 12、统计年龄最大的

    1.3K20
    领券