在SQL查询中获取排序位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL查询中获取排序位置相关的知识,希望对你有一定的参考价值。
假设我在数据库中有10本书。当我按名称排序时,我希望第一本书的“等级”为1.依此类推,在查询中。
我无法使用自动递增的ID。
[1] A.
[2] B.
[3] C.
等等。
我的场景是硬币并使用Yii2。
$coins = Coins::find()
->select(['id', 'name', 'icon', 'volume_24_hours', 'market_cap', 'price', 'change_24_hours', 'circulating_supply', 'abbreviation'])
->where(['is_fiat' => false])
->orWhere(['is_fiat' => null])
->orderBy(['volume_24_hours' => 'DESC']);
答案
在Oracle,Postgre和MSSQL中,您可以使用某种形式的row_number函数。在mysql中,你可以在变量的帮助下使用emulate it。
另一答案
希望这对你有用..(:
SELECT ROW_NUMBER()OVER(ORDER BY BookName ASC) AS RowNo,
BookName
FROM TableName
以上是关于在SQL查询中获取排序位置的主要内容,如果未能解决你的问题,请参考以下文章