Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据。

Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如何在MySQL中对数据进行分组排序呢?

下面介绍如何利用用户变量进行分组排序并取top1数据。

1、现在有一份数据表tmp_provice_sales,如下:表格记录的是某商品省份城市销售数量,现在需要提取每省份销售TOP1的城市数据。

2、然后在查询框中输入以下代码:

3、点击运行,即可获取每个省份销售TOP1数据,运行结果如下图所示:

需要注意的点是

1、需对原始数据源销售额进行降序排序,order by provice ,sales desc,将相同省份数据排列到一起,且按销售数量由大到小排列;

2、再利用if函数对数据添加序列号;

3、提取各分组中排名为1的数据,即为需求数据;

4、如果要获取top3数据,只需修改最后一句,having ranks <4 即可。

原始代码展示如下

select a.*,

if(@v_provice = provice,

@v_rank:= @v_rank+1,

@v_rank:=1

) as ranks,@v_provice:=provice as provice2

from

(select * from tmp_provice_sales

order by provice ,sales desc)a,

(select @v_provice:=null,@v_rank:= 0)b

having ranks=1;

小结

以上就是在mysql中如何实现分组排序的小功能,如果觉得有用,欢迎关注我,每天分享数据小技巧~

mysql 分组排序_MySQL如何实现Excel分组排序功能?相关推荐

  1. MySQL过滤分组关键字_MySQL教程76-HAVING 过滤分组

    在 MySQL 中,可以使用 HAVING 关键字对分组后的数据进行过滤. 使用 HAVING 关键字的语法格式如下: HAVING HAVING 关键字和 WHERE 关键字都可以用来过滤数据,且 ...

  2. mysql group语句可以排序_MySQL中group_concat()函数的排序方法

    示例一 group_concat()函数的参数是可以直接使用order by排序,下面通过例子来说明,首先看下面的t1表. 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高 ...

  3. mysql 子查询 排序_MySQL的子查询中排序

    起因 有一张表保存着用户对于文件的阅读记录, 包括文件名, 读者, 阅读时间, 时长, 备注评论. create table reading_record ( id int primary key a ...

  4. mysql union如何排序_Mysql中UNION用法与排序

    最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union ...

  5. mysql中两次排序_MySQL中的两种排序方式: index和filesort

    index :通过有序索引顺序扫描直接返回有序数据,不需要额外的排序,操作效率较高. filesort:通过对返回数据进行排序,filesort 并不代表通过磁盘文件排序,而是说明进行了一个排序操作, ...

  6. mysql orderby 规则_MySQL中OrderBy多字段排序规则代码示例

    说在前面 突发奇想,想了解一下mysql order by排序是以什么规则进行的? 好了,话不多说,直接进入正题吧. MySql order by 单字段 建一测试表如下: CREATE TABLE ...

  7. mysql聚合函数要分组吗_mysql聚合函数和分组-阿里云开发者社区

    文章实例的数据表,来自上一篇博客<mysql简单查询>:http://blog.csdn.net/zuiwuyuan/article/details/39349611 一. 聚合函数 聚合 ...

  8. mysql按月份分组查询_mysql如何按月份分组查询

    mysql按月份分组查询的方法:根据format字符串格式化date值,语法为[DATE_FORMAT(date,format)],其中[%M ]为月的名字. mysql按月份分组查询的方法:sele ...

  9. mysql横纵分组统计_MySQL中如何实现分组统计

    首先准备四张表A.B.C.D, -------------------------------- A      | B | C   | D a   b   |   a   c   |   a   d  ...

最新文章

  1. Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
  2. plsql一直正在编译_使用plsql/devlop编译过程hang住案列小结
  3. react --- render持续调用解决方案
  4. 实验 5 编写、调试具有多个段的
  5. element-ui走马灯如何实现图片自适应
  6. hdu 1524 A Chess Game
  7. apache自定义虚拟主机日志格式
  8. android项目中导入actionbarsherlock 需要注意的地方
  9. 今年纽微特公司股东会不开了?
  10. 【限时福利】COACKA免费试听@Days China,干货在这里!
  11. java写安卓脚本,一文全懂
  12. 【概念】椭球面在球面上的投影
  13. UE4地形使用卫星贴图
  14. 白鹭php源码,看源码系列之从运行流程开始-Egret社区-教程文档-白鹭引擎-Egret Engine-免费开源HTML5游戏引擎 - Powered by Discuz!...
  15. UESTC_冬马党 CDOJ 882
  16. 有没有什么好的可以做读书笔记的APP推荐?
  17. 我要搬家到CSDN了,好吧
  18. 数据可视化图表使用场景大全 !
  19. 用Compose实现手写春联效果
  20. TCP协议的RST标志

热门文章

  1. NSNotificationCenter
  2. 抽象工厂模式(abstract factory)
  3. [知识储备]用RequireJS +zepto开发微信公众号
  4. win7安装redis
  5. 有关自动目视解译系统的假设
  6. PHP命名空间的使用规则
  7. 深入理解JVM—性能监控工具
  8. 第二十二回  基础才是重中之重~ThreadStatic静态字段在每个线程里的唯一性
  9. 关键数据保险箱,AD RMS服务器部署指南
  10. [Shell 脚本] 备份数据库文件至OSS服务(纯shell脚本无sdk)