Php 我需要根据结果颠倒顺序
我需要在某一列中获得3行值最低的数据,然后颠倒这3行的顺序。因此,如果值最低的3行是A、B和C,我需要将它们排序为C、B和A。我可以在一个SQL语句中这样做吗Php 我需要根据结果颠倒顺序,php,sql,mysqli,Php,Sql,Mysqli,我需要在某一列中获得3行值最低的数据,然后颠倒这3行的顺序。因此,如果值最低的3行是A、B和C,我需要将它们排序为C、B和A。我可以在一个SQL语句中这样做吗 $sql = "SELECT * FROM ratings_table ORDER BY rating DESC LIMIT 3"; $result = mysqli_query($conn, $sql); $resultCheck = mysqli_num_rows($result); if ($resultCheck > 0)
$sql = "SELECT * FROM ratings_table ORDER BY rating DESC LIMIT 3";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0)
{
while ($row = mysqli_fetch_assoc($result))
{
echo "<td>".$row['rating']."</td>";
}
}
使用此代码,我将得到正确的结果,但顺序错误。您将希望使用子查询,如下所示:
SELECT *
FROM
(
SELECT *
FROM ratings_table
ORDER BY rating ASC LIMIT 3
) a
ORDER BY rating DESC
这将得到最低的三个结果,然后将顺序颠倒。只有子查询可以工作。首先选择3个最低值,然后对它们进行排序 比如:
SELECT * FROM (
SELECT <COLUMN_VALUE>
FROM <YOUR_TABLE>
ORDER BY <COLUMN_VALUE> LIMIT 3
) T
ORDER BY <COLUMN_VALUE> DESC
订购人。。。DESC?ORDER BY v DESC…需要查看您的查询。您可以按任意顺序按多列排序:例如:从供应商处选择Id、公司名称、城市、国家,其中“美国”、“日本”、“德国”的国家/地区按国家/地区ASC、公司名称DESCI发布我的查询。它给了我正确的结果,但顺序错误。我尝试了这个,但没有改变我结果的顺序!我甚至试着在末尾加上ASC和DESC,但没什么区别。哦,糟糕的是,这确实有效,我犯了一个错误。非常感谢。不要添加重复答案如果您有其他方法,请更新您的答案
$sql = "SELECT * FROM ratings_table ORDER BY rating DESC LIMIT 3";
$result = mysqli_query($conn, $sql)->fetch_all();
krsort($result)
foreach ($result as $row)
{
echo "<td>".$row['rating']."</td>";
}