2008-11-24 40 views

回答

15

最後一行的ID是否最高?如果是這樣,我認爲這將工作:

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

MySQL確實允許子選擇在當前版本,對吧?

然而,在大多數情況下,它很可能,如果你選擇的所有行,然後過濾不需要的數據從應用程序中有更好的表現。

+0

的MySQL 4.1已經支持子查詢!雖然承認一些託管公司仍然使用MySQL 4.0,缺乏這種功能。 – 2008-11-24 22:17:01

+0

嘿,我這麼認爲。但是最後一次我使用MySQL的時候,它是3.X,而這樣的東西不起作用。現在大多使用MS SQL Server。 – 2008-11-24 22:40:15

2

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

在我的經驗中,MySQL喜歡這個技術,可以追溯到幾個版本。

1

我沒有看到這裏列出的另一項技術是

SELECT * FROM table ORDER BY id DESC LIMIT 10000 OFFSET 1; 

這會給你的ID後代下令除第一的記錄,那就是除了最後按照原來的順序。
請注意,使用此方法,您的只會記錄10000條記錄,但是此數字可以高到您想要的高度,但不能省略。
優點這種方法的是,你可以通過任何你想要訂購。
缺點是它給你從上次到第一次排序的記錄。
最後,實在值得指出的是,其他的方法在這裏工作得很好

相關問題