簡體   English   中英

從列生成 MIN、AVG、MAX 列。 [SQL] 蜂巢

[英]Generating MIN, AVG, MAX columns from a column. [SQL] Hive

我有一個包含油價列的數據庫。 我的目標是根據按位置分組的石油價值列生成一個表格,其中包含顯示最低價格、平均價格和最高價格的列。 其中 oil.frequency = 'A'

這是我當前的查詢

select location, 
       min(oil.value) over (partition BY oil.location), 
       max(oil.value) over (partition BY oil.location), 
       avg(oil.value) over (partition BY oil.location)
FROM OIL 
Where oil.frequency = 'A'
GROUP BY oil.location, oil.value;

下圖顯示了我的數據表,第二張圖顯示了我希望數據如何顯示。

在此處輸入圖像描述

在此處輸入圖像描述

你不需要窗口函數。
只需按位置分組並匯總:

select location, 
       min(value), 
       max(value), 
       avg(value)
FROM OIL 
Where frequency = 'A'
GROUP BY location;

暫無
暫無

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

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