小编gou*_*geo的帖子

在mysql 5.7中将rank()转换为(分区....)

我正在尝试在 mysql 5.7 中转换以下 sql

 SELECT T.STOREID AS STOREID,
           T.ARTID AS ARTID,
           T.TOTAMOUNT,
           MAX(T.HOUR) AS HOUR,
           RANK() OVER (PARTITION BY T.STOREID, T.ARTID
                        ORDER BY T.STOREID, T.ARTID, T.HOUR DESC) AS RN
    FROM T
ORDER BY T.STOREID,
         T.ARTID
Run Code Online (Sandbox Code Playgroud)

这在 oracle 中工作得很好,但在 mysql 中也能工作,因为只有 mysql 8 及更高版本支持此功能。任何人都可以帮助我,以便在 mysql 5.7 中获得相同的结果

mysql sql select subquery window-functions

2
推荐指数
1
解决办法
8408
查看次数

标签 统计

mysql ×1

select ×1

sql ×1

subquery ×1

window-functions ×1