当前位置: 首页 > 面试题库 >

ASC排序,底部为空

丁翊歌
2023-03-14
问题内容

我正在编写一个将学校表连接到地区表的SQL查询。每个学校都隶属于一个地区的简单一对多关系。我的查询如下:

SELECT 
    schools.id AS schoolid,
    schools.name AS school, 
    districts.id AS districtid, 
    districts.name AS district
FROM sms_schools AS schools
    LEFT JOIN sms_districts AS districts ON schools.districtid = districts.id
WHERE 1 = 1
ORDER BY districts.name, schools.name

我之所以加入左派,是因为并非每所学校都隶属于一个地区。例如,一所学校可能是在家上学的,其中可能包含所有在家上学的学生。那不会在一个地区。

所以我想做的是使用ORDER BY来按地区名称排序,然后按学校名称排序。唯一的问题是,我希望空区位于底部,以便可以在输出末尾使用名为“其他”的组。

是否可以通过在输出末尾以null升序进行排序?


问题答案:

问了问题仅1分钟后,我就找到了答案。在order by子句用例中,使null具有比其他任何东西更高的值:

 ORDER BY (CASE WHEN districts.id IS NULL then 1 ELSE 0 END),districts.name, schools.name;


 类似资料:
  • 问题内容: 我尝试按ASC顺序在表上使用Spring-Data-JPA创建应用程序,但它给了我一个错误: 为什么 ? 或者 问题答案: 尝试在“全部”和“订单”之间添加“按”,如下所示:

  • 问题内容: 我需要按日期/时间字段(例如)升序对PostgreSQL表进行排序last_updated。 但是,该字段允许为空或空,我想与空记录之前,非空。 这可能吗? 问题答案: 为该ORDER BY子句提供了关键字,以完全满足该需求: 一个典型的用例是使用降序排序(DESC),它会生成默认的升序(ASC)的完整反转,首先是空值。通常不理想-因此,将null值保持在最后: 要支持带有索引的查询,

  • 问题内容: 我想使查询中的排序成为条件排序,因此,如果满足条件,则应通过降序排序 例如: 问题答案: 请勿更改或,更改要排序的事物的符号: OP问: 伙计们,我不是SQL Expert,请向我解释一下id和-id的含义,它可以控制排序方向吗? id就是您要作为排序依据的任何列;-id只是对它的取反,id * -1。如果要按不止一列进行排序,则需要取反每一列: 如果按非数字列排序,则需要查找使该列为

  • 但是,当我初始化BottomNavigationView时,我会得到: 我正在从一个片段初始化BottomNativigationView。我猜这就是问题所在,但我想不出解决办法。 下面是为片段设置导航的活动的BottomNavigationView xml。

  • 问题内容: 在发现了惊人的发现之后,我再次陷入了困境。 问题是我有一个形式的字典,我需要按其整数值的降序对其进行排序, 但是 如果两个元素的值相同,则按键的升序排列。 一个使它更清楚的例子: 经过研究后,我得出以下结论: 这是因为它对值和键都进行了反向排序。我需要不撤消的钥匙。 问题答案: 就像是

  • 问题内容: 我有一条类似于上面的语句,它使我可以动态选择如何对查询结果进行排序。但是,如何指定要订购的姓氏和姓氏? 问题答案: 您需要将您的内容分为两部分: