我想顯示前兩個頂部票選文章然後其他人通過編號的順序排列mysql命令由前兩名再ID
這是表
+----+-------+--------------+--------+
| Id | Name | Post | Votes |
+====+=======+==============+========+
| 1 | John | John's msg | -6 |
| 2 |Joseph |Joseph's msg | 8 |
| 3 | Ivan | Ivan's msg | 3 |
| 4 |Natalie|Natalie's msg | 10 |
+----+-------+--------------+--------+
後查詢的結果應該是:
+----+-------+--------------+--------+
| Id | Name | Post | Votes |
+====+=======+==============+========+
| 4 |Natalie|Natalie's msg | 10 |
| 2 |Joseph |Joseph's msg | 8 |
-----------------------------------------------
| 1 | John | John's msg | -6 |
| 3 | Ivan | Ivan's msg | 3 |
+----+-------+--------------+--------+
我有1個解決方案,但我覺得有更好更快的方法來做到這一點。 我跑2個查詢,一個到達頂部2,然後第二個讓別人:
SELECT * FROM table order by Votes desc LIMIT 2
SELECT * FROM table order by Id desc
然後在PHP我要確保我表明1日的查詢,因爲它是和上顯示2號查詢我刪除條目的那在第一個查詢中,所以它們不會加倍。 可這在單一的查詢進行選擇前兩個頂部投票,那麼其他人呢?
我認爲MySQL不支持子查詢有限制,但你可以使用一個連接,而不是 – fthiella
@fthiella請檢查出工會的鏈接。它說,否則:) – Shadow
是,這個問題是不是聯合查詢,其中支持的限制,但對'NOT IN(選擇... LIMIT 2)'它不 – fthiella