MYSQL 分组排序
http://www.cnblogs.com/merru/articles/4626045.html
SELECT a.shop_id, a.price, count(*) as rank
FROM mygoods a
JOIN mygoods b ON a.shop_id=b.shop_id AND a.price <= b.price
GROUP BY a.shop_id, a.price
ORDER BY a.shop_id,a.price desc
通过自连接 ,比例用排序字段的大小比较和count(*) 获得 满足 条件的熟练,即等价于 row_num
A 1
A 2
A 3
自连接结果
a.1 a.2 b.1 b.2
A 1 A 1
A 1 A 2
A 1 A 3
A 2 A 1
A 2 A 2
A 2 A 3
A 3 A 1
A 3 A 2
A 3 A 3
a表里面的 第一二个字段做分组,求和。
同时满足 a2 <= b2
则 符合条件的结果
A 1 A 1 对
A 1 A 2 对
A 1 A 3 对
A 2 A 1 错
A 2 A 2 对
A 2 A 3 对
A 3 A 1 错
A 3 A 2 错
A 3 A 3 对
统计结果
A 1 3个
A 2 2个
A 3 1个
MYSQL 分组排序的更多相关文章
- MySQL分组排序(取第一或最后)
MySQL分组排序(取第一或最后) 方法一:速度非常慢,跑了30分钟 SELECT custid, apply_date, rejectrule FROM ( SELECT *, IF ( , ) A ...
- mysql 分组排序前n + 长表转宽表
MySQL数据库优化的八种方式(经典必看) 建表 CREATE TABLE if not EXISTS `bb` ( `id` int not null primary key auto_increm ...
- mysql分组排序加序号(不用存储过程,就简简单单sql语句哦)
做前端好长时间了,好久没动sql了.在追一个喜欢的女孩,做测试的,有这么个需求求助与本屌丝,机会难得,开始折腾起来,配置mysql,建库,建表.... 一 建表 CREATE TABLE `my_te ...
- mysql 分组排序取最值
查各个用户下单最早的一条记录 查各个用户下单最早的前两条记录 查各个用户第二次下单的记录 一.建表填数据: SET NAMES utf8mb4; -- 取消外键约束 ; -- ------------ ...
- mysql分组排序取最大值所在行,类似hive中row_number() over partition by
如下图, 计划实现 :按照 parent_code 分组, 取组中code最大值所在的整条记录,如红色部分.(类似hive中: row_number() over(partition by)) sel ...
- mySql分组排序
mysql 排序学习---mysql 1.建表语句 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varc ...
- mysql分组排序加序号
参照https://www.cnblogs.com/CharlieLau/p/6737243.html 一.需求 新加一个Sort 字段,初始值为1,按照parentID分组添加sort值. 根据原数 ...
- MySql 分组排序取时间最大的一条记录
SELECT A.* FROM digital_asset A, (SELECT name, max(last_updated) max_day FROM digital_asset GROUP BY ...
- mysql 分组内 排序
mysql 分组内 排序 类似于 sqlserver over partition by 因为mysql中木有sqlserver over partition by这个函数,要从sqlserver ...
随机推荐
- ruby中 Win32ole的各应用操作方法(word excel Outlook IE)
Win32ole为标准Ruby发行版的一部分.Win32ole是访问Windows自动化的接口,可以让Ruby和Windows应用进行交互.具体说来Win32ole可以操作Word,Excel,IE, ...
- .pyc是个什么鬼?
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...
- 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
本文内容中的部分资料和知识来源于网络,具体引用出处不明. VS的IDE从VC6到VS2010的变化可谓是天翻地覆,最新的VS2010有一个特性就是支持多显示器开发,这无疑为我们的开发带来很大的便利. ...
- C#位操作(转)
在C#中可以对整型运算对象按位进行逻辑运算.按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位.C#支持的位逻辑运算符如表2.9所示. 算符号 意义 ...
- 【javascript进阶】异常
前言 最近有些时间了,今天看了看博客的后台记录,好多都没有写博客呢,争取尽快把以前的补上,javascrit中的异常在前端大家用的好像不是很多,其实javascript的异常和大多数的后端语言差不大, ...
- 函数指针_typedef
一 函数指针 1 函数类型 函数的类型由它的返回值类型,和形参类型共通过决定,与函数名无关. eg:bool lengthcompare(const string&, const string ...
- 使用Maven加载项目有Dubbo框架时出现的常见异常情况
异常描述: The matching wildcard is strict, but no declaration can be found for element 'dubbo ...
- .this语句指的是什么
This通常指的是当前对象的引用
- NSURLConnection使用
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 在SQL2008配置数据库镜像1418错误的处理
在SQL2008配置数据库镜像错误一般都由以下原因造成 1.主体.镜像服务器SQL SERVER选择本账号切保持一致 2.在数据库镜像配置向导中的“服务账号”选项中请选择需要同步数据库的登陆名,例如数 ...