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

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

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

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

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

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

需要注意的点是:

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

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

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

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

原始代码展示如下:

selecta.*,

if(@v_provice=provice,

@v_rank:=1

)asranks,@v_provice:=proviceasprovice2

from

(select*fromtmp_provice_sales

orderbyprovice,salesdesc)a,

([email protected]_provice:=null,@v_rank:=0)b

havingranks=1;

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

  1. mysql 表名规范_MYSQL数据库命名及设计规范

    1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡. ...

  2. mysql怎么给权限_mysql怎么给用户加权限

    mysql怎么给用户加权限 mysql给用户加权限的方法:首先创建用户,代码为[create user 用户名 identified by '密码']:然后给用户分配权限,代码为[grant 权限 o ...

  3. 查看mysql主机名命令_MYSQL常用查命令

    MYSQL常用查命令 mysql> select version();        查看MySQL的版本号 mysql> select current_date();        查看 ...

  4. mysql 库名大小写_MySQL 库名、表名、字段名区分大小写吗???

    上周末写了一篇MySQL where查询字段值不区分大小写的文章(MySQL的where查询不区分字段大小写!!!),有个兄弟留言说经常遇到库名.表名.字段名的大小写问题.我想既然研究了大小写的问题, ...

  5. SQL 查询 每个班级第n名 每组第n个 区分 分区 分组排序 DENSE_RANK() RANK() ROW_NUMBER()

    背景 区分/分区/分组排序: 区分多组有序数据中的部分特典数据: 适用场景 前提:有序数据 查询 每组 前N.第N.后N个记录: 排序编号: 分页: 案例(一瓢饮):每个班级第n名 ,有下表(伪数据) ...

  6. mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句

    MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...

  7. mysql++月份排序_Mysql 按月份为组进行统计排序_MySQL

    SELECT YEAR(established_time) AS 'year' , MONTH(established_time) AS 'month' , COUNT(*) AS 'count' F ...

  8. mysql怎么获得权限_mysql怎么给用户加权限

    mysql给用户加权限的方法:首先创建用户,代码为[create user 用户名 identified by '密码']:然后给用户分配权限,代码为[grant 权限 on 数据库.数据表 to ' ...

  9. mysql数据库登录认证_MySQL数据库的用户认证系统

    这两天受朋友的托付,要我帮他写一个使用MySQL数据库的用户认证系统.我当然不好推脱的,只得耗费了一晚上的休息时间,写了个很简单的PHP程序.由于赶的很仓卒,可能会太简陋了些,而且可能还会有错误和漏洞 ...

最新文章

  1. python3 语法再学习
  2. 深入理解Objective-C:Category
  3. python随机生成10个整数列表_python_随机产生10个整数后找出最小值,最大值。
  4. 计算机动画人机交互,北大计算机系多媒体与人机交互.ppt
  5. 华为魔术手机拆机图解_华为P9进水不显示维修案例
  6. Struts2中访问web元素
  7. Mac使用sdkmanager从官网下载新版android SDK
  8. Android闪退日志关键字,求助,简单UI界面,调试总是闪退,还没有LOG错误日志???...
  9. 百度 UEditor--自定义上传文件路径及读取文件
  10. rust能捏人不_不跟风出游的五一假期,武汉人到底能去哪
  11. regsvr32注册Dll文件时出现0x80004005问题的解决方案
  12. win10桌面无法新建文件夹解除管理员权限方法
  13. 恢复win7快速启动栏
  14. 解决合并压缩包分卷无法解压 错误信息:文件格式未知或者压缩文件数据已经损坏
  15. Java中double转String
  16. 数据分析应关注AARRR模型的哪些指标
  17. 矩形法_加工难题:双头深矩形螺旋槽
  18. uniapp自定义步骤条
  19. ARMv7 汇编在线调试工具
  20. 基于Android的聊天系统

热门文章

  1. How to shrink disk for KVM
  2. python md5加密
  3. ASP.NET AJAX学习记要(2)-下手之JavaScript
  4. OpenCV-绘制奥运五环(带套接效果)
  5. linux mmap实例_Linux下通过共享内存和mmap实现进程间通讯(含实例)
  6. linux系统漏洞修复2019,Linux中 OpenSSH 输入验证错误漏洞(CVE-2019-16905) 修复解决方案...
  7. 测试面试必问点【干货】建议收藏!!
  8. java 货币格式 转换_java 货币 转换
  9. 交换机短路_交换机日常怎么运行维护?一文告诉你
  10. InteliJ IDEA生成可执行jar运行提示没有主清单属性