2012-10-04 45 views
1

select語句你好任何人都可以點我朝着正確的方向。從tabel選擇結果但以某種方式顯示它們的最佳方法是什麼,請參閱下面的首選排序方法。最佳的排序方式在PHP

10, 9, 8, 6, 5, 4, 3, 2, 1 

作出這樣的成

6, 7, 8, 9, 10 

並顯示該訂單?

我有這個迄今爲止...

$result = mysql_query("SELECT * FROM Chat ORDER BY Time DESC LIMIT 5"); 
+0

所以基本上你想要的:排序倒序 - >限制X個記錄 - >排序ASC :) –

回答

4

假設數字不僅是1-10,在一個子查詢包裹並再次回重新排序。

SELECT * 
FROM 
    (
      SELECT * 
      FROM Chat 
      ORDER BY `Time` DESC 
      LIMIT 5   -- <=== change this to the number of records you want 
    ) a 
ORDER BY `TIME` 

SQLFiddle Demo

+0

大這工作,謝謝!這是有史以來最好的論壇! – user1717236

0

試試下面的代碼

$result = mysql_query("SELECT * FROM Chat ORDER BY Time ASC LIMIT 5,5"); 
0

查詢會是這樣

$result = mysql_query("select * from (SELECT * FROM Chat ORDER BY Time ASC LIMIT 0,5) order by time desc"); 

,會先採取一切結果降序排列,之後取前5行,並使其升序排列。

+0

謝謝啊,但沒有我想要的,我的例子可能不是很清楚,我需要它搶最近多行的職位,但然後採取5和顯示倒置或以相反的順序。 – user1717236

+0

@ user1717236查詢被編輯。現在檢查 –

0
$result = mysql_query("SELECT * FROM Chat ORDER BY Time ASC LIMIT 5,5"); 

按升序排序,從第6個結果開始,返回5個行。

+0

-1。這是非常具體的有10個結果。 –

+0

如果有15個結果,你的答案會選擇'5-10'並排序,但這會是錯誤的,因爲OP需要'10-15'。 –

+0

@Jack是的,我同意。我誤解了這個問題。 OP對此並不十分清楚,IMO。我看到user1717236現在對Yogesh Suthar的回答發表了評論。說得通。 – jimp