我正在尝试获取一个特定的ID(53),该ID在检索我的数据时排在第一位,然后按字母title
的顺序在此之后。我在这里找到了一些答案,但这些都不是我想要的。
当前这是我的查询
SELECT *
FROM snm_categories
WHERE parent_id = ".$conn->real_escape_string($getcat['id'])."
AND published = 1
ORDER BY CASE WHEN id = 53 THEN 0 ELSE 1 END, id, title
这可以正确显示ID为53的第一个结果,但其余各项未按title
按字母顺序排列。我该怎么办?
答案 0 :(得分:1)
Windows Time Zone Utility
Usage:
TZUTIL </? | /g | /s TimeZoneID[_dstoff] | /l>
Parameters:
/? Displays usage information.
/g Displays the current time zone ID.
/s TimeZoneID[_dstoff]
Sets the current time zone using the specified time zone ID.
The _dstoff suffix disables Daylight Saving Time adjustments
for the time zone (where applicable).
/l Lists all valid time zone IDs and display names. The output will
be:
<display name>
<time zone ID>
Examples:
TZUTIL /g
TZUTIL /s "Pacific Standard Time"
TZUTIL /s "Pacific Standard Time_dstoff"
Remarks:
An exit code of 0 indicates the command completed successfully.
您必须更改字段的顺序。您首先在id列之前编写title列。这很重要。
答案 1 :(得分:1)
MySQL将布尔值视为数字,其中“ 1”为true,“ 0”为false。
因此,您可以将逻辑简化为:
ORDER BY (id = 53) DESC, title, id