我需要找出客户的排名。这里我根据我的要求添加相应的 ANSI 标准 SQL 查询。请帮我将其转换为 MySQL 。
SELECT RANK() OVER (PARTITION BY Gender ORDER BY Age) AS [Partition by Gender], FirstName, Age, Gender FROM Person
MySQL中有没有查询排名的函数?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
一种选择是使用排名变量,如下所示:
SELECT first_name, age, gender, @curRank := @curRank + 1 AS rank FROM person p, (SELECT @curRank := 0) r ORDER BY age;(SELECT @curRank := 0)部分允许变量初始化,而无需单独的SET命令。测试用例:
结果: