图: 查询
如对多个列进行排序所示,可以使用 ORDER BY 子句来以升序或降序对数据进行排序和
执行嵌套排序。此结果显示了升序。
图: 查询结果


当对表中的若干列使用 SELECT 和 ORDER BY 时,您会发现使用整数来在 ORDER BY
子句中表示列的位置非常有用。当整数是 ORDER BY 列表中的元素时。数据库服务器将
它看作是投影列表中的位置。例如,在 ORDER BY 列表中使用 3(ORDER BY 3)表示
投影列表中的第三项。以下查询中的语句检索和显示相同数据,如下图 12所示。
图: 查询
图: 查询结果


当将整数指定给列名时,可以在 ORDER BY 子句中包括 DESC 关键字。如下所示。
图: 查询
在此示例中,数据先按 order_date 以降序排序再按 customer_num 以升序排序。
选择子串
要选择字符列的部分值,请在投影列表中包含一个子串。假设市场营销部门计划向客户寄
邮件并想要客户的基于邮政编码的地理分布。可编写与以下图中显示的查询相似的查询。
图: 查询
该查询使用子串来选择 zipcode 列的前三个字符(它们标识州)和全部 customer_num,并
按邮政编码以升序列出它们,如以下结果所示。
图: 查询结果

ORDER BY 和非英文数据
缺省情况下,对于数据库数据,GBase 8s 数据库服务器使用美国英语语言环境,称为语言
环境。美国英语语言环境指定数据以代码集顺序存储。此缺省语言环境使用 ISO 8859-1 代
码集。
如果您的数据库包含非英语数据,那么应在 NCHAR(或 NVARCHAR)列中存储非英语
数据,以获取按语言排序的结果。ORDER BY 子句应以适合于语言的顺序返回数据。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




