【问题标题】:SQL Sums with Where Clauses带有 Where 子句的 SQL 求和
【发布时间】:2019-06-12 13:12:14
【问题描述】:

我有一个“小时”表,我正在尝试创建一个 SQL 查询来根据几个变量计算一些总和。

在我的桌子上有 小时、位置、用户、活动。 (与许多其他领域)

我要合计

Sum(Hours) AS TotalHours, Sum(Hours where Location=Place1) AS OffisteHours, Sum(Hours where Location=Place2) As OnsiteHours 按活动分组,然后按用户分组。

我在进行分组时没有任何问题,只是在获取总和时遇到问题。

我正在寻找的结果是这样的。

NAME               OFFISTEHOURS      ONSITEHOURS      TOTAL HOURS
JohnSmith            23                   17                40
HarryBolz            11                   33                44
LacyWeir             12                   23                45

使用 SUM 创建查询没有问题,我只是不断遇到砖墙,添加带有子句的第二个 SUM。

任何指向正确方向的指针都会有所帮助!谢谢!

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    您可以尝试使用条件聚合 在 MSACCESS 中,您可以使用 IFF 进行条件聚合

     select User
        , Sum(Hours)
        , sum(IIF(Location ='Place1' , Hours, 0)) OFFISTEHOURS      
        , sum(IIF(Location ='Place2' , Hours, 0)) ONSITEHOURS      
    from m_table  
    group by  User
    

    【讨论】:

    • Thx 经过一些修改,这就是我正在寻找的答案。 IIF 在 Access CASE 中不起作用。再次感谢
    • @Gary 欢迎您 .. 如果事实情况在 msaccess 中不可用
    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多