主条款

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

变换的行table_reference通过旋转指定的列列表的惟一值到单独的列中。

语法

table_reference({aggregate_expression((作为]agg_column_alias]}(,]column_list(expression_list))column_list{column_name|(column_name(,])}expression_list{表达式(作为](column_alias]|{(表达式(,])(作为](column_alias]}(,])}

参数

  • table_reference

    标识的主题操作。

  • aggregate_expression

    任何类型的表达式,所有列的引用table_reference是参数聚合函数

  • agg_column_alias

    一个可选的别名聚合的结果。如果没有指定别名,基于生成一个别名aggregate_expression

  • column_list

    列的集合是旋转。

  • expression_list

    映射值column_list列别名。

    • 表达式

      文字表达的类型与相应的最常见的column_name

      的数量表达式在每一个元组必须匹配的数量column_namescolumn_list

    • column_alias

      一个可选的别名指定生成的列的名称。如果没有指定别名基于生成一个别名表达式年代。

结果

临时表下面的形式:

  • 所有的中间结果集的列table_reference未在任何指定的aggregate_expressioncolumn_list

    这些列分组列。

  • 为每一个表达式元组和aggregate_expression的组合,生成一列。类型的类型aggregate_expression

    如果只有一个aggregate_expression列命名使用column_alias。否则,它被命名为column_alias_agg_column_alias

    每个单元中的值的结果aggregation_expression使用一个过滤器(在哪里column_list(表达式,…)

例子

——一个非常基本的主——与销售季度表,返回一个表,它返回在每年季度销售。>创建临时视图销售(一年,季度,地区,销售)作为(2018年,1,“东”,One hundred.),(2018年,2,“东”,20.),(2018年,3,“东”,40),(2018年,4,“东”,40),(2019年,1,“东”,120年),(2019年,2,“东”,110年),(2019年,3,“东”,80年),(2019年,4,“东”,60),(2018年,1,“西方”,105年),(2018年,2,“西方”,25),(2018年,3,“西方”,45),(2018年,4,“西方”,45),(2019年,1,“西方”,125年),(2019年,2,“西方”,115年),(2019年,3,“西方”,85年),(2019年,4,“西方”,65年);>选择一年,地区,第一季度,第二季,第三季,第四季度销售(总和(销售)作为销售季度(1作为第一季度,2作为第二季,3作为第三季,4作为第四季度));2018年One hundred.20.40402019年120年110年80年602018年西105年2545452019年西125年115年85年65年没有主——写相同的查询>选择一年,地区,总和(销售)过滤器(在哪里季度=1)作为第一季度,总和(销售)过滤器(在哪里季度=2)作为第二季,总和(销售)过滤器(在哪里季度=3)作为第二季,总和(销售)过滤器(在哪里季度=4)作为第四季度销售集团通过一年,地区;2018年One hundred.20.40402019年120年110年80年602018年西105年2545452019年西125年115年85年65年——上主>选择一年,q1_east,q1_west,q2_east,q2_west,q3_east,q3_west,q4_east,q4_west销售(总和(销售)作为销售(季度,地区)((1,“东”)作为q1_east,(1,“西方”)作为q1_west,(2,“东”)作为q2_east,(2,“西方”)作为q2_west,(3,“东”)作为q3_east,(3,“西方”)作为q3_west,(4,“东”)作为q4_east,(4,“西方”)作为q4_west));2018年One hundred.105年20.25404540452019年120年125年110年115年80年85年6065年没有主——写相同的查询>选择一年,总和(销售)过滤器(在哪里(季度,地区)=(1,“东”))作为q1_east,总和(销售)过滤器(在哪里(季度,地区)=(1,“西方”))作为q1_west,总和(销售)过滤器(在哪里(季度,地区)=(2,“东”))作为q2_east,总和(销售)过滤器(在哪里(季度,地区)=(2,“西方”))作为q2_west,总和(销售)过滤器(在哪里(季度,地区)=(3,“东”))作为q3_east,总和(销售)过滤器(在哪里(季度,地区)=(3,“西方”))作为q3_west,总和(销售)过滤器(在哪里(季度,地区)=(4,“东”))作为q4_east,总和(销售)过滤器(在哪里(季度,地区)=(4,“西方”))作为q4_west销售集团通过一年,地区;2018年One hundred.105年20.25404540452019年120年125年110年115年80年85年6065年——总跨区域的列必须从输入中删除。>选择一年,第一季度,第二季,第三季,第四季度(选择一年,季度,销售销售)作为年代(总和(销售)作为销售季度(1作为第一季度,2作为第二季,3作为第三季,4作为第四季度));2018年205年4585年85年2019年245年225年165年125年没有主——相同的查询>选择一年,总和(销售)过滤器(在哪里季度=1)作为第一季度,总和(销售)过滤器(在哪里季度=2)作为第二季,总和(销售)过滤器(在哪里季度=3)作为第三季,总和(销售)过滤器(在哪里季度=4)作为第四季度销售集团通过一年;——主与多个聚合>选择一年,q1_total,q1_avg,q2_total,q2_avg,q3_total,q3_avg,q4_total,q4_avg(选择一年,季度,销售销售)作为年代(总和(销售)作为,avg(销售)作为avg季度(1作为第一季度,2作为第二季,3作为第三季,4作为第四季度));2018年205年102年54522585年42585年4252019年245年122年5225年112年5165年82年5125年62年5没有主——相同的查询>选择一年,总和(销售)过滤器(在哪里季度=1)作为q1_total,avg(销售)过滤器(在哪里季度=1)作为q1_avg,总和(销售)过滤器(在哪里季度=2)作为q2_total,avg(销售)过滤器(在哪里季度=2)作为q2_avg,总和(销售)过滤器(在哪里季度=3)作为q3_total,avg(销售)过滤器(在哪里季度=3)作为q3_avg,总和(销售)过滤器(在哪里季度=4)作为q4_total,avg(销售)过滤器(在哪里季度=4)作为q4_avg销售集团通过一年;>创建临时视图(id,的名字,年龄,,地址)作为(One hundred.,“约翰。”,30.,1,“街1”),(200年,“玛丽”,,1,《街头2》),(300年,“迈克”,80年,3,“街3”),(400年,“丹”,50,4,“街4”);2018年205年102年54522585年42585年4252019年245年122年5225年112年5165年82年5125年62年5