需求:mysql分组排序,1、取最大(小)前N位,2、取中位数

本例以shop_id和cat_id字段共同分组,并对最细粒度的分组cat_id降序排列

原始表:

2、mysql分组排序(含组内排名)

SELECT a.shop_id,a.cat_id, a.price, count(*) as rank

FROM mygoods a

JOIN mygoods b ON a.shop_id=b.shop_id and a.cat_id = b.cat_id AND a.price <= b.price

GROUP BY a.shop_id,a.cat_id, a.price

ORDER BY a.shop_id,a.cat_id asc,a.price desc

;

如果要求中位数,在上面的基础上,用以下语句进行筛选:

WHERE Rank = (SELECT (COUNT(*)+1) DIV 2 FROM Table_Name);

注意:上述可根据情况把JOIN 改成 LEFT JOIN

3、结果数据

注意:转载请保留原文链接 http://www.cnblogs.com/merru/articles/4626045.html

mysql 组内排名_【原】MySQL分组排序(包含组内排名、求中位数)相关推荐

  1. 深入浅出mysql唐汉名_深入浅出MySQL++数据库开发、优化与管理维护+第2版+唐汉明 -- 存储引擎 - 数据类型 - 字符集和校验规则 -...

    create schema deepInMySql; use deepInMySql; -- 查看当前默认存储引擎 show variables like '%table_type%'; -- 查看当 ...

  2. mysql 进入数据库名_操作mysql数据库的一些命名

    一.打开数据库 1.1.打开命令行输入:mysql -u root -p 1.2.root是本地数据库的用户名,然后输入数据库的密码进入. 二.数据库操作 2.1.创建一个数据库:create dat ...

  3. mysql 无线网络设置_操作mysql命令行的方法步骤

    操作mysql命令行的方法步骤 现在向大家介绍mysql命令行下,从数据库的建立到表数据的删除全过程,希望对大家有所帮助. 登陆mysql 打cmd命令终端,如果已经添加了mysql的环境变量,可以直 ...

  4. Json数组列表中的数据分组排序、组内排序

    文章目录 问题描述 方式一:先全部排序,在分组排序 方式二:使用HashMap取出来分组再组内排序 方式三:使用TreeMap取出来分组再组内排序 测试代码及耗时 问题描述 现在有一个用户信息数组,用 ...

  5. mysql 排名_SQL语句mysql排名、分组后组内排名、取各组的前几名

    数据: 一.整体排名(3种) -- 普通排名:从1开始,顺序往下排 set @rank =0;select city , score, @rank := @rank+1 rank from cs or ...

  6. mysql 组复制 不一致_使用MySQL组复制的限制和局限性

    本节列出和解释了组复制相关的要求和限制. 1.组复制的要求 要使用组复制,每个MySQL节点必须满足以下条件: 1.1 基本要求 InnoDB存储引擎:数据必须存储在事务型的InnoDB存储引擎中.事 ...

  7. 如何用mysql创建orders表_《MySQL必知必会》学习笔记

    本书所用的表: 68.png 67.png 66.png 65.png 64.png 63.png 第一章:了解SQL 数据库:保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件:DBM ...

  8. shell+mysql获取数据库名_shell操作mysql数据库

    一.安装启动mariadb yum install mariadb mariadb-server mariadb-libs -y systemctl start mariadb #导入数据 mysql ...

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

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

最新文章

  1. char *a 和char a[] 的区别(指针和数组的区别)
  2. 计算机组成原理怎么考察的,计算机组成原理课程考察报告(论文).doc
  3. 《Head First Python》第一章
  4. Atlas学习手记(9):异步调用Page Method
  5. 磁盘io php,PHP CURL如何处理上传内存中文件,避免磁盘IO开销
  6. php创建无限级树型菜单以及三级联动菜单
  7. 前端学习(600):使用chorme devtools进行开发
  8. 想领取开发套件,就来参加AIoT开发者大赛
  9. VMWARE 构建局域网 + VMWARE SQL Server 服务器搭建
  10. 《童梦奇缘-梦幻般的羁绊》第一章-朦胧
  11. document.all用法
  12. IPSec之security acl
  13. 镜像翻转_《蒙娜丽莎》镜像翻转后,露出神秘的第二张脸,网友:笑容去哪了...
  14. 微软半日游,和CSDN同学们走进名企
  15. 嵌入式硬件常见英文总结
  16. 租用游艇,Clear And Present Danger S,Heat Wave G,单源最短路径(弱化版)
  17. Google Adsense 西联汇款热点问题的说明
  18. 如何快速转行做产品经理
  19. Android的显示色彩位数
  20. 计算机与现代教育的英语作文,雅思写作高分范文:电脑是否现代教育所必须?...

热门文章

  1. 递归算法详解及测试效率
  2. C++最普通的定时器功能实现
  3. REDM库使用教程01(详细入门)
  4. SHA-3的获胜者:keccak - 在 3GPP TS 35.231、FIPS 202 和 SP 800-185 中标准化
  5. Linux内存管理:CMA(连续内存分配)(DMA)
  6. 关于FD.io VPP的最新消息
  7. MySQL与PostgreSQL
  8. 利用scp在windows和linux之间进行文件和文件夹的数据拷贝
  9. python ctypes struct_Python之ctypes
  10. 计算机主机拆解,计算机硬件系统及主机拆解..ppt