get排序依据在sql查询中的位置

jgwigjjp  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(347)

假设我的数据库里有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']);
bmp9r5qi

bmp9r5qi1#

希望这对你有用

SELECT  ROW_NUMBER()OVER(ORDER BY BookName ASC)  AS RowNo,
          BookName
FROM   TableName
pod7payv

pod7payv2#

在oracle、postgre和mssql中,可以使用某种形式的行数函数。在mysql中,您可以借助变量来模拟它。

相关问题