加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL相当于ORACLES rank()

发布时间:2021-01-20 15:06:51 所属栏目:MySql教程 来源:网络整理
导读:Oracle有2个函数-rank()和density_rank()-我发现它们对某些应用程序非常有用.我现在在mysql中做某事,想知道他们是否有与之等效的东西?最佳答案没有直接等效的方法,但是您可以使用一些(效率不高)自联接来伪造它.来自collection of MySQL query howtos的一些

Oracle有2个函数-rank()和density_rank()-我发现它们对某些应用程序非常有用.我现在在mysql中做某事,想知道他们是否有与之等效的东西? 最佳答案 没有直接等效的方法,但是您可以使用一些(效率不高)自联接来伪造它.来自collection of MySQL query howtos的一些示例代码:

SELECT v1.name,v1.votes,COUNT(v2.votes) AS Rank
FROM votes v1
JOIN votes v2 ON v1.votes < v2.votes OR (v1.votes=v2.votes and v1.name = v2.name)
GROUP BY v1.name,v1.votes
ORDER BY v1.votes DESC,v1.name DESC;
+-------+-------+------+
| name  | votes | Rank |
+-------+-------+------+
| Green |    50 |    1 |
| Black |    40 |    2 |
| White |    20 |    3 |
| Brown |    20 |    3 |
| Jones |    15 |    5 |
| Smith |    10 |    6 |
+-------+-------+------+ 

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读