首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL分组依据与计算

问SQL分组依据与计算
EN

Stack Overflow用户
提问于 2020-09-07 11:39:54
回答 3查看 74关注 0票数 0

我是SQL的新手,我正在尝试用DBeaver创建一些查询。我有一些关于使用group by聚合的问题。我将使用一个示例输出表来解释(这是运行我的查询的输出):

代码语言:javascript
复制
ID SubType Data 1 Data 2 Data 3 Data 4
Sample 1 A Null Null 21 22
Sample 1 B 20 15 Null Null

因此,在这里,我使用where语句来选择示例1,然后根据group by subtype,我可以从示例1中检索不同的信息(根据子类型,由于某些数据只能用于A或B,表中显示的一些数据将为Null )。

现在对我来说第一个困难是:我想为部分B创建一个新的列"Data 5“,公式将使用来自数据1列的20,来自数据2列的15和来自数据3列的21 -即20/(21-15)。可以根据输出结果生成新的输出吗?希望我没有把你搞糊涂。

对我来说第二个困难:最初,我想为示例1创建一个单行表,所以基本上,我不想按子类型分组,只显示数据1-数据4列。但是,我的查询有case和end as语句,它们搜索子类型列中的关键字来检索信息。因此,它迫使我使用group by子类型(我猜是??)。该怎么办呢。有没有办法让这件事变得简单?我想做这样的东西:

代码语言:javascript
复制
ID Data 1 Data 2 Data 3 Data 4
Sample 1 20 15 21 22

如果我的问题令人困惑,我可以在这里粘贴我的实际查询并输出结果,这样你们就可以更好地理解。

感谢您的帮助!

​

​

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-08 17:03:25

首先,在单独的CTE中计算completion_type = 'FRAC'和completion_type = 'JETPERF'的汇总。然后按如下方式组合它们:

代码语言:javascript
复制
;WITH frac as (
SELECT
 c.uwi,
 AVG(c.base_depth - c.top_depth) AS Avg_stage_Spacing,
 COUNT(c.completion_type) AS Stage_Count
FROM
 well_completion AS c
WHERE
 c.completion_type = 'FRAC'
GROUP BY
 c.uwi
), 
jetperf as (
SELECT
 c.uwi,
 COUNT(c.completion_type) AS Perf_Count
FROM
 well_completion AS c
WHERE
 c.completion_type = 'JETPERF'
GROUP BY
 c.uwi
)
SELECT
 f.uwi,
 f.Avg_stage_Spacing / (j.Perf_count / f.Stage_Count) AS Avg_cluster_spacing
FROM
 frac as f
  INNER JOIN
 jetperf as j
  ON
   f.uwi = j.uwi
票数 1
EN

Stack Overflow用户

发布于 2020-09-07 11:48:10

你可以试试下面的-

代码语言:javascript
复制
select id, max(data1) as data1,max(data2) as data2,max(data3) as data3,max(data4) as data4
from tablename
group by id
票数 0
EN

Stack Overflow用户

发布于 2020-09-07 14:08:55

尝试此查询:

代码语言:javascript
复制
select id, max(data1) as data1,max(data2) as data2,max(data3) as data3,max(data4) as data4
from tablename group by SubType
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63771018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档