mysql 分组内 排序
2024-10-19 01:23:38
mysql 分组内 排序 类似于 sqlserver over partition by
因为mysql中木有sqlserver over partition by这个函数,要从sqlserver 中把查询迁到mysql ,遇到了一些问题,暂时是这样解决的
select id, CreationTime, Sku from product_picture
返回结果:
1.同组SKU 给createTime排序
2.同组SKU
定义变量后循环赋值:
SELECT
id,
rank,
rank2,
CreationTime,
Sku
FROM
(
SELECT
*,
@rownum := @rownum + 1,
IF
( @pdept = heyf_tmp.Sku, @rank := @rank + 1, @rank := 1 ) AS rank,
@pdept := heyf_tmp.Sku, IF
( @pdept2 != heyf_tmp.Sku, @rownum2 := @rownum2 + 1, @rownum2 ) AS rank2,
@pdept2 := heyf_tmp.Sku FROM
( -- 只需要改此括号中内容
SELECT * FROM product_picture ORDER BY Sku ASC, CreationTime DESC ) heyf_tmp,
( SELECT @rownum := 0, @pdept := NULL, @rank := 0 ) a ,
( SELECT @rownum2 := 1, @pdept2 := NULL) b
) result;
返回结果:
rank :表示同组sku下的createtime排序结果
rank1:表示同组sku
最新文章
- asp.net中ashx生成验证码代码放在Linux(centos)主机上访问时无法显示问题
- (C++) Include 文件
- MySql避免重复插入记录
- Solr入门之(3)常用概念说明(持续补充):
- iOS开发系列之 itms-services 协议
- MySQL server has gone away 的解决方法
- SharedPreference.Editor的apply与commit方法不同之处
- Python3 列表
- C#中Socket编程解决应用程序直接的通信
- golang语法学习(一):变量,常量以及数据类型
- c++学习笔记之继承篇
- AppDomain 及BuildManager
- Windows 桌面和文件夹的右键->;打开命令行窗口
- Confluence 6 针对 'unmigrated-wiki-markup' 宏重新尝试合并
- Mvc 提交表单的4种方法
- 学linux,从Ubuntu开始
- GET和POST传输方式
- Linux安装64位Mysql5.7
- Spring Cloud(2)A Eureka server端 服务注册建立
- python学习笔记之斐波拉契数列学习