16

私は基本的に「目標」バーを作ろうとしています。目標は、MySQL テーブルで作成した最後のエントリを取得することによって決定されます。したがって、最後のエントリのIDを取得したい。

テーブルの最後のエントリを取得し、その最後のエントリから ID を取得するにはどうすればよいですか?

(PHPを使用)

4

7 に答える 7

49

最大の ID を取得するには:

SELECT MAX(id) FROM mytable

次に、行を取得します。

SELECT * FROM mytable WHERE id = ???

または、1 つのクエリですべてを実行できます。

SELECT * FROM mytable ORDER BY id DESC LIMIT 1
于 2012-05-08T17:12:44.227 に答える
7

機能を使用できLAST_INSERT_ID()ます。例:

$sql = "SELECT * FROM mytable WHERE id = LAST_INSERT_ID()";
于 2012-05-08T17:16:32.040 に答える
6

このクエリを使用して、この例で使用されているように、この sql クエリで必要な結果を取得できます。

$sql = "SELECT user_id FROM my_users_table ORDER BY user_id DESC LIMIT 0,1";
于 2012-05-08T17:13:06.783 に答える
2

これを確実に行うには、テーブル内に、どれが最後かを調べるために調べられるフィールドが必要です。これは、レコードを追加したときのタイム スタンプ、継続的に増加するシーケンス番号 (特に自動インクリメント シーケンス番号) などです。

では、「rec_seq」というシーケンス番号だとしましょう。次のように書きます。

select * from my_table
where rec_seq=(select max(rec_seq) from my_table)
于 2012-05-08T17:13:47.750 に答える
2

フィールドが自動インクリメントされている場合は、 LAST_INSERT_IDを使用できます

于 2012-05-08T17:12:39.700 に答える
2

テーブルからすべてのフィールドを逆の順序で選択し、制限0,1を設定しますこれにより、テーブルフィールドデータの最後の結果が得られます

于 2012-05-08T17:16:53.533 に答える
2

ユーザーの最新エントリを取得する

'SELECT user_id FROM table_name WHERE user_id = '.$userid.' ORDER BY user_id DESC LIMIT 1';
于 2014-08-29T06:42:32.150 に答える