我可以使选定的记录出现在排序查询的开头:
$sql = "SELECT meetID, meetingTitle
FROM meetings
ORDER BY meetingTitle = 'Other Meetings' DESC, meetingTitle DESC";
这会强制"其他会议"位于按字母顺序排列的数组输出的顶部。我希望它位于底部。然后,我可以使用array_reverse将其放置在输出数组的末尾,但我正在寻找一种使用 MySQL 查询的直接方法。这可能吗?
将ASC
更改为DESC
:
$sql = "SELECT meetID, meetingTitle
FROM meetings
ORDER BY meetingTitle = 'Other Meetings' ASC, meetingTitle DESC";
对于Other Meetings
,meetingTitle = 'Other Meetings'
的值1
,对于其他值0
。因此,如果您首先想要其他值,则希望0
位于1
之前,这就是ASCend顺序。
SELECT meetID, meetingTitle FROM meetings
ORDER BY
CASE WHEN meetingTitle = 'Other Meetings' THEN 2 ELSE 1 END, meetingTitle DESC