sql over函数 在mysql_MSSQL中 ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)在Mysql中的实现...

本文介绍了如何在MySQL中实现类似于MS SQL的ROW_NUMBER() OVER(PARTITION BY...ORDER BY...)功能,通过创建临时表和变量来完成分页效果。同时,也分享了在MySQL中模拟行列转换的UNPIVOT操作的方法,由于MySQL不支持PIVOT和UNPIVOT函数,因此使用UNION ALL和CASE语句来达到类似目的。
摘要由CSDN通过智能技术生成

之前的MS SQL 中存储过程有下面一段代码:

with rowvalue as(SELECT ROW_NUMBER() OVER (ORDER BY F_WarnName DESC) ASid,

F_PID,F_WarnName,Sub,ResultFROM(SELECTF_PID,F_WarnName,F_Ratio00,F_Ratio01,F_Ratio02,

F_Ratio03,F_Ratio04,F_Ratio05,F_Ratio06,F_Ratio07,F_Ratio08,

F_Ratio09,F_Ratio10,F_Ratio11,F_Ratio12,F_Ratio13,F_Ratio14,F_Ratio15,

F_Ratio16,F_Ratio17,F_Ratio18,F_Ratio19,F_Ratio20,F_Ratio21,F_Ratio22,F_Ratio23FROM T_ZZ_ParaBehaviorWarn where F_PID=@Pid) p

UNPIVOT

(ResultFOR Sub IN(F_Ratio00,F_Ratio01,F_Ratio02,

F_Ratio03,F_Ratio04,F_Ratio05,F_Ratio06,F_Ratio07,F_Ratio08,

F_Ratio09,F_Ratio10,F_Ratio11,F_Ratio12,F_Ratio13,F_Ratio14,F_Ratio15,

F_Ratio16,F_Ratio17,F_Ratio18,F_Ratio19,F_Ratio20,F_Ratio21,F_Ratio22,F_Ratio23))ASunpvt

),

其中用到了 ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN),主要是实现分页的功能。

而需要移植到MySql中,因为领导不让该程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值