首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制权重参数的和等于1,并按键的一部分进行分组?

如何强制权重参数的和等于1,并按键的一部分进行分组?
EN

Stack Overflow用户
提问于 2012-02-17 23:31:02
回答 1查看 240关注 0票数 0

我的设置中有两个表。一个是有销售人员和收入的。每个销售人员只知道他们的总收入。在这一特定的收入期间,他们被要求对私人、小型企业或大型企业客户的收入进行估计。此信息被输入到第二个表中。

代码语言:javascript
复制
Income
=================
SalesPerson
Income

Distribution
=============================
SalesPerson
CustomerType
Weight

现在,我的查询如下所示:

代码语言:javascript
复制
SELECT
  Income.SalesPerson,
  Distribution.CustomerType,
  Income.Income * Distribution.Weight as DistributedIncome
FROM
  Income INNER JOIN Distribution ON
    Income.SalesPerson = Distribution.SalesPerson

我如何强制Distribution中的每个SalesPersonSUM(Weight) =1

EN

回答 1

Stack Overflow用户

发布于 2012-02-17 23:38:13

根据相同的标准,按总和进行归一化。

代码语言:javascript
复制
SELECT
  Income.SalesPerson,
  Distribution.CustomerType,
  Income.Income * Distribution.Weight/(
    select sum(d.weight)
    from distribution d
    inner join income i on i.salesperson = d.salesperson
  )
  as DistributedIncome
FROM
  Income INNER JOIN Distribution ON
    Income.SalesPerson = Distribution.SalesPerson

如果以某种方式想要选择和为1的未修改的权重,那么我相信你有一个subset sum problem的例子,你可能不能用一个SQL查询来解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9331007

复制
相关文章

相似问题

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