MySQL: 使记录在 alpha 排序中排在最后
MySQL: make record last in alpha sort
我可以让选定的记录出现在排序查询的开头:
$sql = "SELECT meetID, meetingTitle
FROM meetings
ORDER BY meetingTitle = 'Other Meetings' DESC, meetingTitle DESC";
这会强制 "Other Meetings" 位于字母数组输出的顶部。我希望它位于底部。然后我可以使用 array_reverse 将它放在输出数组的末尾,但我正在寻找使用 MySQL 查询的直接方法。这可能吗?
SELECT meetID, meetingTitle FROM meetings
ORDER BY
CASE WHEN meetingTitle = 'Other Meetings' THEN 2 ELSE 1 END, meetingTitle DESC
将ASC
改为DESC
:
$sql = "SELECT meetID, meetingTitle
FROM meetings
ORDER BY meetingTitle = 'Other Meetings' ASC, meetingTitle DESC";
meetingTitle = 'Other Meetings'
的值为Other Meetings
1
,其他值为0
。所以如果你想要其他值在前,你希望 0
在 1
之前,这就是升序。
我可以让选定的记录出现在排序查询的开头:
$sql = "SELECT meetID, meetingTitle
FROM meetings
ORDER BY meetingTitle = 'Other Meetings' DESC, meetingTitle DESC";
这会强制 "Other Meetings" 位于字母数组输出的顶部。我希望它位于底部。然后我可以使用 array_reverse 将它放在输出数组的末尾,但我正在寻找使用 MySQL 查询的直接方法。这可能吗?
SELECT meetID, meetingTitle FROM meetings
ORDER BY
CASE WHEN meetingTitle = 'Other Meetings' THEN 2 ELSE 1 END, meetingTitle DESC
将ASC
改为DESC
:
$sql = "SELECT meetID, meetingTitle
FROM meetings
ORDER BY meetingTitle = 'Other Meetings' ASC, meetingTitle DESC";
meetingTitle = 'Other Meetings'
的值为Other Meetings
1
,其他值为0
。所以如果你想要其他值在前,你希望 0
在 1
之前,这就是升序。