数据库基本脚本

CREATE TABLE `a` (

`ID` INT(10) NULL DEFAULT NULL,

`class` INT(10) NULL DEFAULT NULL,

`score` INT(10) NULL DEFAULT NULL

)

COLLATE='utf8_general_ci'

ENGINE=InnoDB;

insert into a values (1,1,110);

insert into a values (2,1,120);

insert into a values (3,1,130);

insert into a values (4,1,140);

insert into a values (5,2,210);

insert into a values (6,2,220);

insert into a values (7,2,230);

insert into a values (8,2,240);

insert into a values (9,3,310);

insert into a values (10,3,320);

insert into a values (11,4,410);

1. 对 class进行分组 取每组的前2条

select id,class,score,rank from (

select b.id,b.class,b.score,@rownum:=@rownum+1 ,

if(@pdept=b.class,@rank:=@rank+1,@rank:=1) as rank,

@pdept:=b.class

from (

select id,class,score from a order by id

) b ,(select @rownum :=0 , @pdept := null ,@rank:=0) c ) result

having rank <3 ;

rank <3 指的相当月ruwnum<3 每组都自动给上了序号.多少条记录就多少个序号.指的是每组的.

2.  对 class 进行分组   取记录满足两天的,也就是rownum=2 的数据

select id,class,score,rank from (

select b.id,b.class,b.score,@rownum:=@rownum+1 ,

if(@pdept=b.class,@rank:=@rank+1,@rank:=1) as rank,

@pdept:=b.class

from (

select id,class,score from a order by score desc

) b ,(select @rownum :=0 , @pdept := null ,@rank:=0) c ) result

having rank =2 ;

mysql 排序num_MySQL 实现row_number() 分组排序功能相关推荐

  1. 【SQL】Mysql5.7版本实现row_number分组排序功能

    Mysql5.7 版本实现row_number分组排序功能 # 建表 drop TABLE if EXISTS test; create table test(id varchar(50),ftime ...

  2. Mysql 不使用窗口函数实现分组排序 rank 别名问题

    Mysql 不使用窗口函数实现分组排序 变量 定义和修改 方法1 set @变量名:=值: set @name="bob"; set @name="jojo"; ...

  3. mysql 分组排序取前n_mysql分组排序取前N条记录的最简洁的单条sql ! | 学步园

    -- mysql分组排序取前N条记录的最简洁的单条sql. use test; drop table if exists test; create table test ( id int primar ...

  4. oracle 条件排序函数,oracle中分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  5. oracle中按数字大小排序函数,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如: 1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的 ...

  6. sql 窗口函数ROW_NUMBER() 分组/排序/计数

    ROW_NUMBER() 窗口函数 / 分析函数 MySQL中,row_number() 函数 用来分区的,使用它 为返回的结果集中的每一行 生成一个序列号(为行分配序号),第一个数字以1开头. 主要 ...

  7. mysql 分组排序_MySQL如何实现Excel分组排序功能?

    Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据. Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如 ...

  8. ROW_NUMBER() OVER() 函数用法详解 (分组排序,多例子)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 语法格式:row_number() over(partition by 分组列 order by 排 ...

  9. mysql 省份名排序_MySQL:如何利用用户变量进行分组排序并取top1数据

    Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据. Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如 ...

最新文章

  1. 【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
  2. 冷迁移oracle数据库,数据库的冷备份迁移
  3. 你自己的3D建模软件(准备00)——作者的话
  4. 在ASP.NET中运用JavaScript重定向页面
  5. html可视区高度,你真的懂js获取可视区宽高吗
  6. Linux CentOS 7安装Tomcat7的完整步骤。
  7. 第21篇 项目进度管理__关键路径法
  8. Mac制作映像(dmg)文件详细步骤
  9. 【刘润五分钟商学院】-166几乎所有知识,都始于归纳法
  10. BLE DTM by HCI
  11. 光阴深处岁月静好可待流年
  12. moTzxx-CMS —— [一个基于PHP代码的后台管理系统(ThinkPHP5.1.40)]
  13. 【深度学习】【物联网】深度解读:深度学习在IoT大数据和流分析中的应用
  14. GitChat · 架构 | 如何从零开始搭建高性能直播平台?
  15. 解决Cmake编译 OPENCV_DNN_CUDA 报错: CMake Error at modules/dnn/CMakeLists.txt:39.
  16. 2020年有寓意的领证日期_2020有寓意的领证日期是什么时候?什么时候领证吉利?...
  17. linux清除历史linux清除history
  18. 学生报名太火热,黑马大门要被挤掉了?
  19. 自动化测试robotframework框架(一)
  20. 《中华护理杂志》(半月刊)投稿须知

热门文章

  1. 在没有数据集的情况下使用数据表
  2. 思科收购网络安全管理厂商Pari Networks
  3. linux删除文件操作
  4. java get方法不序列化_Java中的Json序列化,不容忽视的getter
  5. easyui 收费_收费班长喻玉华三尺岗亭献青春
  6. 银联pos小票word模板_商家pos机刷卡必须知道的知识
  7. java web开发学习手册_Java 人必备学习手册开发下载!
  8. tornado学习笔记day01-高并发性能web框架
  9. Git常用指令及功能总结
  10. android加法服务类,iOS越来越像Android:苹果简单做加法远离精致