2014-03-31 99 views
0

我在訂購數據時遇到問題。我正在使用一個簡單的查詢來嘗試和排序表,但它似乎沒有工作。一旦表排序我想更新的第一列,所以我使用了以下內容:基於字段值的訂購數據

$qry9 = "SELECT * FROM t1 ORDER BY Ranking DESC"; 
$qry10 = "UPDATE t1 SET Level = '1' LIMIT $number"; 

這並不是出於某種原因。數據仍按照最初輸入表格的方式進行排序,因此執行更新時,會更新表格的第一行,而不是排名最高的行。任何幫助在這裏將不勝感激。 在此先感謝。

+0

你能發佈完整的代碼? –

回答

2

order by適用於查詢的結果集,而不適用於表本身。在MySQL中,你可以使用一個order by與更新:

UPDATE t1 
    SET Level = '1' 
    ORDER BY ranking DESC 
    LIMIT $number; 
2

$ qry9(SELECT * FROM t1 ORDER BY Ranking DESC";)不表排序什麼,它只是排序結果集選擇的。因此,如果你希望只在第一行申請$qry10,則需要使用ORDER BY Ranking DESC有作爲:

$qry10 = "UPDATE t1 SET Level = '1' ORDER BY Ranking DESC LIMIT $number";