当前位置: 首页 > 面试题库 >

如何对不同的行求和?

戴化
2023-03-14
问题内容

我在查询需要在SUM DISTINCT Rows处苦苦挣扎。一定有办法做到这一点…但我迷路了。

这是我得到的:

SELECT DISTINCT Zipcodes.CountyID,
us_co_est2005_allData.PopEstimate2005, 
us_co_est2005_allData.EstimatesBase2000,
users_link_territory.userID
FROM
Zipcodes Inner Join Users_link_territory ON zipcodes.CountyID = 
Users_link_territory.CountyID Inner Join
us_co_est2005_alldata ON zipcodes.FIPS = us_co_est2005_alldata.State AND zipcodes.code
= us_co_est2005_alldata.County
WHERE (users_link_territory.userid = 4)

这给了我34行,为每个属于userid4的县提供了不同的人口数量,但是我怎么得到PopEstimate2005和EstimatesBase2000的总和?

类似的东西(但这不是合法的查询):

SELECT DISTINCT Zipcodes.CountyID,
SUM(us_co_est2005_allData.PopEstimate2005) AS Population2005, 
SUM(us_co_est2005_allData.EstimatesBase2000) AS Population2000,
users_link_territory.userID
FROM
Zipcodes Inner Join Users_link_territory ON zipcodes.CountyID = 
Users_link_territory.CountyID Inner Join
us_co_est2005_alldata ON zipcodes.FIPS = us_co_est2005_alldata.State AND zipcodes.code
= us_co_est2005_alldata.County
WHERE (users_link_territory.userid = 4)
GROUP BY users_link_territory.userid

当然,将Zipcodes.CountyID添加到GroupBy的末尾后,我又回到了34行。

非常感谢您的帮助。

罗素·舒特(Russell Schutte)。。。。。

在获得以下帮助(尤其是Robb的帮助)之后,我能够获得我真正想要的内容-在单个查询中总共获得了每个UserID的填充详细信息:

SELECT     SUM(POPESTIMATE2005) AS Expr1, SUM(ESTIMATESBASE2000) AS Expr2, UserID
FROM         (
    SELECT DISTINCT zipcodes.CountyID, us_co_est2005_alldata.POPESTIMATE2005, us_co_est2005_alldata.ESTIMATESBASE2000, users_link_territory.UserID
    FROM          zipcodes INNER JOIN
    users_link_territory ON zipcodes.CountyID = users_link_territory.CountyID INNER JOIN
    us_co_est2005_alldata ON zipcodes.FIPS = us_co_est2005_alldata.STATE AND zipcodes.Code = us_co_est2005_alldata.COUNTY
    ) As FOO
GROUP BY UserID

谢谢大家的贡献!

罗素·舒特(Russell Schutte)


问题答案:

如果您只想要一个总体数字,请尝试

select sum(PopEstimate2005), sum(EstimatesBase2000)
from(
    SELECT  Distinct
        Zipcodes.CountyID, 
        us_co_est2005_allData.PopEstimate2005, 
        us_co_est2005_allData.EstimatesBase2000, 
        users_link_territory.userID 
    FROM 
        Zipcodes Inner Join 
        Users_link_territory ON zipcodes.CountyID = Users_link_territory.CountyID Inner Join 
        us_co_est2005_alldata ON zipcodes.FIPS = us_co_est2005_alldata.State AND zipcodes.code = us_co_est2005_alldata.County 
    WHERE 
        (users_link_territory.userid = 4)
) as foo


 类似资料:
  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我有一些需要汇总的表。它们也没有链接,但是所有表的顺序是相同的。 基本上,我想采用以下两个表: 要获得这样的输出以输入到图形应用程序中,请执行以下操作: 问题答案:

  • 我有一张清单: 我想有这样的结果:

  • 对不起,朋友们,我想问一下。我有4个db表。 桌位 表type_member 表事务处理 表history_member 如上所示的表格内容示例。如果表格的内容像上面的照片。如何找出总交易类型_Member“银”是怎样的?因为,例如,如果我使用查询将loket表与事务连接起来,那么结果必须为空,因为在transaction表中假定没有事务来自成员类型为silver的loket。即使你看看历史,它应

  • 问题说明 我需要一次发送多个API调用。 我有三个不同的 API endpoint,如下所示,所有这些endpoint都需要尽快调用。这一切都是相互独立的。 我所尝试的 我试着这样: 这里如何实现并行?

  • 如果我想创建一个模板类,并根据模板参数的typeid执行不同的操作,那么我该如何编码呢? 例如,我有下面的模板类,我希望在其中初始化成员字段数据,这取决于它是int还是字符串。 但是,这段代码不能用下面的主文件编译。 以及以下主要内容: 我现在得到的链接器错误是:Test template 4.obj:error lnk2019:未解析的外部符号“public:__thiscall A::~A(v

  • 问题内容: 假设我有两个类CLassA和CLassB。它们有一个共同的属性,例如每个类拥有的元素数量。 我如何从ClassA和CLassB的对象创建一个集合,并按该属性排序(降序升序无所谓)? 我收集了一个类型,但是当我尝试实现Comparable Interface时,我无法使用该方法(例如,获取返回元素nr的get)。 我有什么解决方案? 谢谢你的帮助! 问题答案: 实际上,如果要将它们放在同