按条款排序

适用于:检查标记是的砖的SQL检查标记是的砖运行时

返回结果行排序在每个分区在用户指定的顺序。当有多个分区排序通过可能部分命令返回结果。这是不同的命令条款保证输出的总订单。

语法

排序通过{表达式(sort_directionnulls_sort_oder]}(,]sort_direction(ASC|12月]nulls_sort_order(零位第一个|零位去年]

参数

  • 表达式

    任何类型的一个表达式用于建立一个分区本地顺序返回结果。

    如果表达式是一个文字INT值解释为一个列在选择列表中的位置。

  • sort_direction

    指定排序的排序顺序表达式。

    • ASC:这个表达式的排序方向提升。

    • DESC:这个表达式的排序顺序降序。

    如果没有显式地指定排序方向,那么默认行升序排序。

  • nulls_sort_order

    之前/之后可以选择性地指定是否返回NULL值非空值。如果null_sort_order没有指定,那么取消第一如果排序顺序是ASC去年如果排序顺序和nullDESC

    • 零位第一个:返回NULL值首先不管排序顺序。

    • 零位去年:返回NULL值的最后不管排序顺序。

当指定多个表达式排序发生左到右。分区内的所有行是按第一个表达式。如果有重复的值的表达式的第二个表达式是用来解决集团内的订单副本等等。结果为了不确定的所有订单如果有重复的值的表达式。

例子

>创建临时视图(zip_code,的名字,年龄)作为(94588年,“禅回族”,50),(94588年,“丹·李”,18),(94588年,“阿尼尔K”,27),(94588年,“约翰·V”,),(94511年,“大卫·K”,42),(94511年,“雅利安人B。”,18),(94511年,“拉B。”,);——使用“重新分配”提示“zip_code”分区数据——检查“排序”的行为。这是用于其他——的例子。——排序行“名字”以升序的方式在每个分区>选择* / / * +重新分区(zip_code)的名字,年龄,zip_code排序通过的名字;阿尼尔K2794588年1894588年约翰V94588年回族5094588年雅利安人B1894511年大卫K4294511年拉蒂B94511年——一行在每个分区使用列的位置。>选择* / / * +重新分区(zip_code)的名字,年龄,zip_code排序通过1;阿尼尔K2794588年1894588年约翰V94588年回族5094588年雅利安人B1894511年大卫K4294511年拉蒂B94511年——一行在分区以升序的方式保持零值。>选择* / / * +重新分区(zip_code)年龄,的名字,zip_code排序通过年龄零位去年;1894588年27阿尼尔K94588年50回族94588年约翰V94588年18雅利安人B94511年42大卫K94511年拉蒂B94511年每个分区内,按年龄排序行降序的方式,默认为空。>选择* / / * +重新分区(zip_code)年龄,的名字,zip_code排序通过年龄DESC;50回族94588年27阿尼尔K94588年1894588年约翰V94588年42大卫K94511年18雅利安人B94511年拉蒂B94511年每个分区内,按年龄排序行降序的方式保持第一个null值。>选择* / / * +重新分区(zip_code)年龄,的名字,zip_code排序通过年龄DESC零位第一个;约翰V94588年50回族94588年27阿尼尔K94588年1894588年拉蒂B94511年42大卫K94511年18雅利安人B94511年——一行在每个分区基于多个列,每列——不同的方向。>选择* / / * +重新分区(zip_code)的名字,年龄,zip_code排序通过的名字ASC,年龄DESC;阿尼尔K2794588年1894588年约翰V94588年回族5094588年雅利安人B1894511年大卫K4294511年拉蒂B94511年