我在订购数据时遇到问题。我正在使用一个简单的查询来尝试订购一个表,但它似乎并没有起作用。一旦订购了表,我想更新第一列,以便我使用以下内容:
$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;
答案 1 :(得分:2)
$ qry9(SELECT * FROM t1 ORDER BY Ranking DESC";
)不对表中的任何进行排序,它只是对select的结果集进行排序。因此,如果您只想在第一行应用$qry10
,则还需要在ORDER BY Ranking DESC
使用{<1}}:
$qry10 = "UPDATE t1 SET Level = '1' ORDER BY Ranking DESC LIMIT $number";