sql >> データベース >  >> RDS >> Mysql

MySQL:selectステートメントの一時列を自動インクリメントします

    これにより、連続が得られます 3の行番号 。

    SELECT
        (@cnt := @cnt + 1) AS rowNumber,
        t.rowID
    FROM myTable AS t
      CROSS JOIN (SELECT @cnt := 0) AS dummy
    WHERE t.CategoryID = 1
    ORDER BY t.rowID ;
    

    結果

    | ROWNUMBER | ROWID |
    ---------------------
    |         1 |     1 |
    |         2 |    25 |
    |         3 |    33 |
    |         4 |   150 |


    1. 更新中のコマンド実行中に致命的なエラーが発生しました

    2. MySQLは最新の行のみに参加しますか?

    3. mysqlエラー1364フィールドにデフォルト値がありません

    4. where句があってもSELECTCOUNT(*)は遅い