我知道如何对结果集进行排序:
SELECT * FROM `People` ORDER BY `LastName` ASC
Run Code Online (Sandbox Code Playgroud)
但是,在开头显示空LastName的结果.如何按升序排序,并在结尾而不是从头开始显示NULL结果?
Tom*_*m H 13
SELECT
*
FROM
People
ORDER BY
CASE WHEN LastName IS NULL THEN 1 ELSE 0 END,
LastName
Run Code Online (Sandbox Code Playgroud)
你也可以简单地使用
SELECT
*
FROM
People
ORDER BY
COALESCE(LastName, 'ZZZZZ')
Run Code Online (Sandbox Code Playgroud)
从技术上讲,如果一个人在您的数据库"ZZZZZZ"中实际拥有LastName,则第二个版本将失败.
注意:我确定这只是因为你给出了一个例子,但我希望你没有在实际的生产代码中使用SELECT*... :)
| 归档时间: |
|
| 查看次数: |
56719 次 |
| 最近记录: |