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

mysqlから最後のレコードを取得する

    ほぼ完了しました。挿入順序を取得することに成功しました。So:

    select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as init ORDER BY myrow desc LIMIT 1;
    

    私のコンソールでは、次のように表示されます:

    mysql> select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as
    init ORDER BY myrow desc LIMIT 1;
    +------+-------+
    | myId | myrow |
    +------+-------+
    | A003 |     4 |
    +------+-------+
    1 row in set (0.00 sec)
    

    デモ

    更新

    ヤクは正しいです。私の解決策は決定論的ではありません。多分それは少量のレコードのために働きます。 SELECTステートメントのデフォルトの並べ替えの信頼性が非常に低いことがわかりました(ここで例 )。次のステップ:

    • デフォルトのSELECT並べ替えが挿入順序と一致する条件はどれですか?
    • インクリメンタルIDまたは挿入タイムスタンプなしでテーブルに最後に挿入されたレコードを取得することは可能ですか?

    私はそれが答えではないことを知っていますが、問題を述べることは問題を制限します。



    1. PHPでの郵便番号間の距離の計算

    2. MySQL SelectJOIN3テーブル

    3. MySQLエラークエリが空になったのはなぜですか?

    4. Oracleの一時データのパフォーマンスに関する考慮事項