我在其中有mySQL DB:link
我需要返回结果,其中第一个项目将是id == 1的项目,然后按字母顺序添加到其他所有项目。这就是我要的:
[Názovpredmetu],[Algoritmizáciaúloh],[Fyzika 1] ...

现在我正在使用这个:

<?php
    $result = mysql_query("SELECT nazov FROM tbPredmety ORDER BY nazov ASC");
    echo "<select name='subject_name'>";

    while ($row = mysql_fetch_assoc($result))
    {
        echo "<option value = '" . $row[nazov] . "'>" . $row[nazov] . "</option>";
    }

    echo "</select>";
?>

最佳答案

您可以在CASE子句中添加ORDER BY子句:

SELECT nazov

FROM tbPredmety

ORDER BY
   -- item(s) with item_id 1 will appear first
   CASE WHEN item_id = 1 THEN 0 ELSE 1 END,
   nazov ASC


我使用了THEN 0 ELSE 1,但出于您的目的,您可以使用在排序时认为前者值小于后者值的任何一对值。

编辑:对于mysql,您可能需要使用CASE ... END CASE。如果上述方法不起作用,请尝试将END更改为END CASE。

07-22 02:40