怎么可能这个(Oracle)SQL:
select a.*, rank() over (partition by a.field1 order by a.field2 desc) field_rank
from table_a a
order by a.field1, a.field2
Run Code Online (Sandbox Code Playgroud)
被翻译成MySQL?
这个问题看起来很相似,但在基本查询的最后没有Order By.此外,它是否由分区字段排序?
A.B*_*ade 16
根据您提供的链接,它应该如下所示:
SELECT a.*,
(
CASE a.field1
WHEN @curType
THEN @curRow := @curRow + 1
ELSE @curRow := 1 AND @curType := a.field1 END
) + 1 AS rank
FROM table_a a,
(SELECT @curRow := 0, @curType := '') r
ORDER BY a.field1, a.field2 desc;
Run Code Online (Sandbox Code Playgroud)
这里有2个小提琴,一个用于oracle,一个用于mySql,基于你给出的链接中的示例:
归档时间: |
|
查看次数: |
9055 次 |
最近记录: |