需求 :

  

测试数据 

create table test1_3(id int primary key auto_increment,username varchar(10),start1 int,end1 int);
insert into test1_3(username,start1,end1) values('A',1,2);
insert into test1_3(username,start1,end1) values('A',3,4);
insert into test1_3(username,start1,end1) values('B',4,5);
insert into test1_3(username,start1,end1) values('A',6,7);
insert into test1_3(username,start1,end1) values('B',7,8);
insert into test1_3(username,start1,end1) values('A',8,9);

解决:

  

解决2:

 解决代码 

 核心思想,把符合逻辑条件的行,构造相同分组

select * from test1_3;

select username,min(start1) start1,max(end1) end1 from (
select test1_3.* ,
if(start1-1=@start1 ANd @username=username,@rn:=@rn,@rn:=@rn+1) as rn,
@username:=username,
@start1:=end1 as '@start'
from test1_3 cross join (select @rn:=0,@start1:=0,@end1:=0,@username:='q') t
order by username,start1
) t1 group by username,rn ;

  

  

mysql一个SQL案例的更多相关文章

  1. MySQL一个延迟案例

    突然接到报警显示MySQL主从之间延迟过大,随后尽快到集群上面看看,进行排查. 首先我们查看延迟是由什么造成的,排查一遍过后发现不是网卡和从库机器的负载,那就要从其他地方来排除了 查看binlog日志 ...

  2. MySQL GROUP_CONCAT函数使用示例:如何用一个SQL查询出一个班级各个学科第N名是谁?

    如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_incre ...

  3. mysql的sql优化案例

    前言 mysql的sql优化器比较弱,选择执行计划貌似很随机. 案例 一.表结构说明mysql> show create table table_order\G***************** ...

  4. mysql中如何在命令行中,执行一个SQL脚本文件?

    需求描述: 在mysql数据库的使用中,有的时候,需要直接在shell的命令行中,执行某个SQL脚本文件, 比如,要初始化数据库,创建特定的存储过程,创建表等操作,这里进行一个基本的测试. 一般情况, ...

  5. mysql一个非常实用解决sql查询优化的函数explain

    前言: 项目中有个表有几万条数据,然后还要关联其他表,查询条件也有点多,再没有其他查询条件下,默认时间查询条件如果是查一年的数据的话,查询时间那是慢得可怕. 找总监去优化sql,看他用了一个sql函数 ...

  6. Datagrip导入导出为一个sql文件详细说明 (mysql)

    Datagrip导入导出为一个sql文件详细说明 导出: (我的无法截图, 借用一张) 导入: (我的无法截图, 再借用一张) 完

  7. mySql常用sql

    mysql sql语句大全1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server- ...

  8. MySQL filesort优化案例一则

    今天遇到一个filesort优化的案例,感觉不错,分享出来. MySQL中filesort是什么意思?官方手册定义: MySQL must do an extra pass to find out h ...

  9. mysql中SQL执行过程详解与用于预处理语句的SQL语法

    mysql中SQL执行过程详解 客户端发送一条查询给服务器: 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果.否则进入下一阶段. 服务器段进行SQL解析.预处理,在优化器生成对应的 ...

随机推荐

  1. 【原创】Python3 + Red + PyDev + Eclipse + Subversion + RobotFramework + UI Automator2 + Weditor 构建Web+Mobile 交互式移动App自动化测试环境

    环境搭建步骤: 1. 下载安装Oracle JDK: 安装路径设置为C:\Program Files\Java\jdk1.8.0_152 2. 下载安装Eclipse: 安装路径设置为C:\Eclip ...

  2. MySQL索引(二)B+树在磁盘中的存储

    MySQL索引(二)B+树在磁盘中的存储 回顾  上一篇文章<MySQL索引为什么要用B+树>讲了MySQL为什么选择用B+树来作为底层存储结构,提了两个知识点: B+树索引并不能直接找 ...

  3. 使用matplotlib绘制常用图表(3)-其他图表绘制

    一.绘制三点图 """ 三月份最高气温 a = [12,15,18,6,7,5,6,8,9,10,15,10,4,5,11,10,5,6,12,15,10,5,14,10 ...

  4. Android蓝牙通信

    Android为蓝牙设备之间的通信封装好了一些调用接口,使得实现Android的蓝牙通信功能并不困难.可通过UUID使两个设备直接建立连接. 具体步骤: 1. 获取BluetoothAdapter实例 ...

  5. Vue使用Axios实现http请求以及解决跨域问题

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.Axios的中文文档以及github地址如下: 中文:https://www.kancloud.cn/y ...

  6. 将maven项目发布到私服

    1.局域网私服 首先保证已经安装配置好了局域网的私服(具体私服的搭建可以查看相关资料) 私服页面访问地址:http://192.168.0.110:8081/nexus,使用admin登录,默认的用户 ...

  7. Java内存缓存-通过Map定制简单缓存

    缓存 在程序中,缓存是一个高速数据存储层,其中存储了数据子集,且通常是短暂性存储,这样日后再次请求此数据时,速度要比访问数据的主存储位置快.通过缓存,可以高效地重用之前检索或计算的数据. 为什么要用缓 ...

  8. MediaFoundation初步研究

    用MediaFoundation写了个媒体播放程序,封装成了DLL,MFVideo.dll,写了个使用例子

  9. mybatis延迟加载(assocation)

    一.何为延迟加载? 延迟加载 我们并不需要总是在加载用户信息时就一定要加载他的账户信息.此时就是我们所说的延迟加载. 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. ...

  10. Linux上Python的安装升级

    1.下载 cd /usr/local/src/ wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz 2.安装,在/usr/loc ...