主條款

適用於:勾選“是”磚的SQL勾選“是”磚運行時

屬性的行進行轉換table_reference通過將指定列列表的惟一值旋轉到單獨的列中。

語法

table_referenceaggregate_expression作為agg_column_alias[,...column_listexpression_listcolumn_listcolumn_name|column_name[,...expression_list表達式作為column_alias|表達式[,...作為column_alias[,...

參數

  • table_reference

    對象的主題操作。

  • aggregate_expression

    所有列都引用的任何類型的表達式table_reference是參數聚合函數

  • agg_column_alias

    聚合結果的可選別名。如果未指定別名,則生成基於的別名aggregate_xpression

  • column_list

    要旋轉的列的集合。

  • expression_list

    映射從column_list到列別名。

    • 表達式

      具有與對應對象共享最小公共類型的類型的文字表達式column_name

      的數量表達式在每個元組中必須匹配的數目column_namescolumn_list

    • column_alias

      可選的別名,指定生成的列的名稱。如果未指定別名屬性生成別名表達式年代。

結果

臨時表的形式如下:

  • 對象的中間結果集中的所有列table_reference並沒有在任何aggregate_expressioncolumn_list

    這些列是分組列。

  • 為每一個表達式元組和aggregate_expression的組合,生成一列。類型是的類型aggregate_expression

    如果隻有一個aggregate_expression列的名稱為usingcolumn_alias.否則,命名column_alias_agg_column_alias

    單元格中的值是aggregation_expression使用一個過濾器在哪裏column_list(表達式,…)

例子

——一個非常基本的支點——給定一個按季度顯示銷售額的表,返回一個每年跨季度返回銷售額的表。>創建臨時視圖銷售一年季度地區銷售作為20181“東”One hundred.),20182“東”20.),20183.“東”40),20184“東”40),20191“東”120),20192“東”110),20193.“東”80),20194“東”60),20181“西方”105),20182“西方”25),20183.“西方”45),20184“西方”45),20191“西方”125),20192“西方”115),20193.“西方”85),20194“西方”65);>選擇一年地區第一季度第二季第三季第四季度銷售總和銷售作為銷售季度1作為第一季度2作為第二季3.作為第三季4作為第四季度));2018One hundred.20.4040201912011080602018西1052545452019西1251158565—同樣的查詢沒有使用PIVOT>選擇一年地區總和銷售過濾器在哪裏季度1作為第一季度總和銷售過濾器在哪裏季度2作為第二季總和銷售過濾器在哪裏季度3.作為第二季總和銷售過濾器在哪裏季度4作為第四季度銷售集團通過一年地區2018One hundred.20.4040201912011080602018西1052545452019西1251158565—也以地區為中心>選擇一年q1_eastq1_westq2_eastq2_westq3_eastq3_westq4_eastq4_west銷售總和銷售作為銷售季度地區((1“東”作為q1_east1“西方”作為q1_west2“東”作為q2_east2“西方”作為q2_west3.“東”作為q3_east3.“西方”作為q3_west4“東”作為q4_east4“西方”作為q4_west));2018One hundred.10520.2540454045201912012511011580856065—同樣的查詢沒有使用PIVOT>選擇一年總和銷售過濾器在哪裏季度地區1“東”))作為q1_east總和銷售過濾器在哪裏季度地區1“西方”))作為q1_west總和銷售過濾器在哪裏季度地區2“東”))作為q2_east總和銷售過濾器在哪裏季度地區2“西方”))作為q2_west總和銷售過濾器在哪裏季度地區3.“東”))作為q3_east總和銷售過濾器在哪裏季度地區3.“西方”))作為q3_west總和銷售過濾器在哪裏季度地區4“東”))作為q4_east總和銷售過濾器在哪裏季度地區4“西方”))作為q4_west銷售集團通過一年地區2018One hundred.10520.2540454045201912012511011580856065—要跨區域聚合,列必須從輸入中移除。>選擇一年第一季度第二季第三季第四季度選擇一年季度銷售銷售作為年代總和銷售作為銷售季度1作為第一季度2作為第二季3.作為第三季4作為第四季度));20182054585852019245225165125—同樣的查詢沒有PIVOT>選擇一年總和銷售過濾器在哪裏季度1作為第一季度總和銷售過濾器在哪裏季度2作為第二季總和銷售過濾器在哪裏季度3.作為第三季總和銷售過濾器在哪裏季度4作為第四季度銷售集團通過一年—帶有多個聚合的PIVOT>選擇一年q1_totalq1_avgq2_totalq2_avgq3_totalq3_avgq4_totalq4_avg選擇一年季度銷售銷售作為年代總和銷售作為總計avg銷售作為avg季度1作為第一季度2作為第二季3.作為第三季4作為第四季度));20182051025452258542585425201924512252251125165825125625—同樣的查詢沒有PIVOT>選擇一年總和銷售過濾器在哪裏季度1作為q1_totalavg銷售過濾器在哪裏季度1作為q1_avg總和銷售過濾器在哪裏季度1作為q2_totalavg銷售過濾器在哪裏季度1作為q2_avg總和銷售過濾器在哪裏季度1作為q3_totalavg銷售過濾器在哪裏季度1作為q3_avg總和銷售過濾器在哪裏季度1作為q4_totalavg銷售過濾器在哪裏季度1作為q4_avg銷售集團通過一年>創建臨時視圖id的名字年齡地址作為One hundred.“約翰。”30.1“街1”),200“瑪麗”1《街頭2》),300“邁克”803.“街3”),400“丹”504“街4”);20182051025452258542585425201924512252251125165825125625