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

最新文章

  1. asp.net中ashx生成验证码代码放在Linux(centos)主机上访问时无法显示问题
  2. (C++) Include 文件
  3. MySql避免重复插入记录
  4. Solr入门之(3)常用概念说明(持续补充):
  5. iOS开发系列之 itms-services 协议
  6. MySQL server has gone away 的解决方法
  7. SharedPreference.Editor的apply与commit方法不同之处
  8. Python3 列表
  9. C#中Socket编程解决应用程序直接的通信
  10. golang语法学习(一):变量,常量以及数据类型
  11. c++学习笔记之继承篇
  12. AppDomain 及BuildManager
  13. Windows 桌面和文件夹的右键->打开命令行窗口
  14. Confluence 6 针对 'unmigrated-wiki-markup' 宏重新尝试合并
  15. Mvc 提交表单的4种方法
  16. 学linux,从Ubuntu开始
  17. GET和POST传输方式
  18. Linux安装64位Mysql5.7
  19. Spring Cloud(2)A Eureka server端 服务注册建立
  20. python学习笔记之斐波拉契数列学习

热门文章

  1. windows根据端口号杀进程
  2. shell读取文件内容并进行变量赋值
  3. 《iOS 11 安全区域适配总结》
  4. 【死磕Java并发】----- 死磕 Java 并发精品合集
  5. Java使用Try with resources自动关闭资源
  6. Hadoop2.0伪分布式平台环境搭建
  7. Java相关资料分享(视频+电子书籍)
  8. ansible基础-安装与配置
  9. JavaScript 执行机制
  10. 死磕 java集合之HashSet源码分析