主條款
適用於:磚的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
。column_list
列的集合是旋轉。
一列的
table_reference
。
expression_list
映射值
column_list
列別名。文字表達的類型與相應的最常見的
column_name
。的數量表達式在每一個元組必須匹配的數量
column_names
在column_list
。一個可選的別名指定生成的列的名稱。如果沒有指定別名
主
基於生成一個別名表達式
年代。
結果
臨時表下麵的形式:
所有的中間結果集的列
table_reference
未在任何指定的aggregate_expression
或column_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年。54522。585年42。585年42。52019年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年。54522。585年42。585年42。52019年245年122年。5225年112年。5165年82年。5125年62年。5