簡體   English   中英

SQL 帶分組集返回初始表

[英]SQL with grouping sets returns the initial table

我有一個這樣的示例表:

姓名 經理 國家 position 薪水
麥克風 標記 美國 內容作家 40000
凱特 標記 法國 搜索引擎優化專家 12000
約翰 卡羅琳 美國 外展專家 32000
愛麗絲 卡羅琳 意大利 搜索引擎優化專家 50000
菲利普 卡羅琳 意大利 市場經理 30000
Julia 卡羅琳 意大利 搜索引擎優化專家 44000

我正在寫一個查詢來獲取平均值。 表中按不同列分組的薪水:

SELECT
    name,
    manager,
    country,
    position,
    AVG(salary)
FROM
    table
GROUP BY GROUPING SETS
    (manager),
    (name, country),
    (position),
    ()

但是,output 和我一開始的表基本相同,只是順序不同。 這是為什么? 如何修復此查詢以返回我需要的分組?

文檔中的示例一樣,我相信您需要將集合括在括號中。 例如

SELECT
    name,
    manager,
    country,
    position,
    AVG(salary)
FROM
    table
GROUP BY GROUPING SETS
    ( -- Added this bracket to OP
    (manager),
    (name, country),
    (position),
    ()
    ) -- Added this bracket to OP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM