题解 :请按城市对客户进行排序,如果城市为空,则按国家排序

请按城市对客户进行排序,如果城市为空,则按国家排序

https://www.nowcoder.com/practice/c1b1d5bd008b4797ab2ef53a3afc4aba

select
    *
from
    customers_info
order by
    (
        case
            when city is not null then city
            else country
        end
    )

题目是存在界定歧义的,不是第一字段空,就在第一字段空的行数据内部进行字段二的排序,而是第一个字段空的行数据参与其他第一个字段非空的数据排序,只不过这个排序是拿第二个字段同其他非空的第一个字段去比较排序!答案里面直接在order by 后面跟两个字段的都是错的,能通过只不过是测试和提交的数据集没有覆盖到特殊用例

全部评论
保持代码的简洁和清晰是SQL编程的最佳实践之一,因此,除非有特定的原因需要改变运算顺序或进行分组,否则不需要在ORDER BY子句中添加不必要的括号
点赞 回复 分享
发布于 2024-12-02 15:24 广东

相关推荐

04-03 12:09
東京大学 C++
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务