11

N 行のテーブルがあり、N-1 行を選択したい。

可能であれば、1 つのクエリでこれを行う方法についての提案..?

4

4 に答える 4

22

最後の行に最高の ID がありますか? もしそうなら、私はこれがうまくいくと思います:

SELECT * FROM TABLE WHERE ID != (SELECT MAX(ID) FROM TABLE)

MySQL は現在のバージョンでサブセレクトを許可していますよね?

ただし、ほとんどの場合、アプリケーションですべての行を選択して不要なデータを除外した方が、パフォーマンスが向上する可能性があります。

于 2008-11-24T21:52:12.557 に答える
2

SELECT DISTINCT t1.columns FROM table t1
INNER JOIN table t2 ON t1.id < t2.id

私の経験では、MySQL はこの手法を気に入っており、いくつかのバージョンをさかのぼります。

于 2008-11-24T21:54:33.100 に答える