MySQL:在字母排序中将记录放在最后



我可以使选定的记录出现在排序查询的开头:

$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 MeetingsmeetingTitle = '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

相关内容

  • 没有找到相关文章

最新更新