首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有子查询的SQL求和?

带有子查询的SQL求和?
EN

Stack Overflow用户
提问于 2012-04-03 00:35:44
回答 3查看 31.8K关注 0票数 9

谢谢你的帮助,我不能用我的SQL技巧.我有两张这样的桌子:

设置

Customerid ViewerLimit /T1581-1997商业商品价格、产品价格、产品价格、商品价格、产品价格、商品价格等 /T1582-1998商业商品的价格、商品、商品、金融、商业、金融、商业、金融、金融等行业的自愿性、商品性、无偿性、自愿性等。

分布

Customerid ServerIP 财政、财政、金融等行业的自愿性、无偿性、无偿性、自愿性、自愿性等。 财政、金融、金融等行业的自愿性、商品性等。 财政、金融、金融等方面的自愿性、商品性、自愿性等。

我想计算每台服务器上的负载。如果客户有多个服务器,则将负载分成两部分,因此在这里,customer 1在每个服务器上放置25的负载。我想得到的结果是:

ServerIP Load 3.间接转轨 4.间接转轨

我试着做一个和函数,类似于这样:

代码语言:javascript
复制
sum(viewerlimit/(count # of servers)) as load group by serverip

但我不能在sum函数中执行子查询。每个客户都有许多客户,可能还有很多服务器,因此这将变得过于复杂,无法手动执行。我很感谢你的意见。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-03 01:03:55

这里是没有灵感的版本,派生表中有计数:

代码语言:javascript
复制
select serverip, sum (viewerlimit/cast (ServerCount as float)) Load
from 
(
  select customerid, count(*) ServerCount from distribution group by customerid
) a
inner join settings
   on a.customerid = settings.customerid
inner join distribution 
   on settings.customerid = distribution.customerid
group by serverip

在周围玩

更新--一种解释的尝试

派生表用于生成可以连接到查询主体的即席结果集。它放在from子句中,并括在括号中。您可以使用普通的选择可以使用的任何东西,顶部,order,聚合函数等。唯一不能使用的是与主体中的表的相关性。还有CTE。派生表必须别名。

在前面的示例中,派生表“a”按customerid选择服务器计数。主体将其视为具有CustomerId和ServerCount列的表,可用作所有列出表中的任何列。customerid上的连接在设置和'a‘之间执行。由于这是1:1的关系(两个表都会产生给定一个customerid的单行),所以不会发生重复。

票数 6
EN

Stack Overflow用户

发布于 2012-04-03 00:38:43

如何在子查询中对服务器进行计数,并将其分配给查询变量,然后在sum函数中使用该查询变量?

票数 1
EN

Stack Overflow用户

发布于 2012-04-03 07:51:20

代码语言:javascript
复制
select d.serverip, sum(s.viewerlimit/d.devider)
    from (
    select customerid, serverip, COUNT(serverip) over (partition by customerid) servercount
        from distribution
    ) d
    join settings s
        on s.customerid=d.customerid
    group by d.serverip
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9985674

复制
相关文章

相似问题

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