28

PHPを使用してMySQLのテーブルから最後のレコードを選択しようとしています。SQLエラーがあると思います。これが私のSQLコードです:

SELECT TOP 1 id FROM `table` ORDER BY id DESC

これが有効で、実際にPHPエラーが発生した場合は、教えてください。

4

3 に答える 3

58

無効なSQL構文があります。代わりにLIMITを使用してください

これを試して:

SELECT id 
FROM table 
ORDER BY id DESC
LIMIT 1

このTOP句はMSSQLサーバーで機能します。

于 2012-06-18T03:24:51.220 に答える
12

より単純でDBMSにとらわれないアプローチは次のようになります。

SELECT MAX(id) AS id
FROM table

これは、フィールドのみが必要な場合のみですidそれ以外の場合、他の列をSELECTしようとすると、一致するデータがidフィールドに返されないため、代わりに次を使用する必要があります。

SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)
于 2012-06-18T03:34:48.220 に答える
0

これは機能します制限を使用することを考えていない場合は、最後のレコードを見つけるために

SELECT TOP 1 * FROM Products ORDER BY id desc

これは機能します制限を使用する予定がない場合は、列名を指定する最後のレコードを検索します

SELECT TOP 1 id FROM Products ORDER BY id desc

そうしないと

SELECT * FROM Products ORDER BY id DESC LIMIT 1
于 2017-03-17T20:56:20.737 に答える