首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取SQL中计数列的总和

获取SQL中计数列的总和
EN

Stack Overflow用户
提问于 2018-07-14 00:19:43
回答 2查看 6.9K关注 0票数 4

我有以下查询

代码语言:javascript
复制
SELECT 
    dtc.coupon_type_company_name,  
    COUNT(*) * dtc.coupon_type_company_coupon_amount AS 'Total_Coupon_To_Be_Used',
    dtc.coupon_type_company_coupon_months_combinable
FROM 
    [dbo].[coupon_type_Company_User] dtcu
JOIN 
    coupon_type_Company dtc ON dtcu.coupon_type_Company_ID = dtc.id
JOIN 
    person p ON dtcu.userID = p.userID
WHERE 
    coupon_type_company_coupon_is_combinable = 1 
    OR coupon_type_company_has_coupon = 1 
    AND dtc.companyID = 1081
    AND p.is_active = 1
GROUP BY
    dtc.coupon_type_company_name,dtc.coupon_type_company_coupon_amount,
    dtc.coupon_type_company_coupon_months_combinable

这将返回以下内容:

但是,我想要的只是一列和一行,它应该是中间列(count(*)*dtc.coupon_type_company_coupon_amount)的总和。

我如何才能做到这一点并防止在我的代码后端(C#)中这样做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-14 00:25:40

您可以像这样包装您的查询:

代码语言:javascript
复制
SELECT SUM(Total_Coupon_To_Be_Used) AS the_sum
FROM (
   your query
) s
票数 5
EN

Stack Overflow用户

发布于 2018-07-14 01:04:26

使用“表表达式”,如下所示:

代码语言:javascript
复制
select sum(Total_Coupon_To_Be_Used) from (
  SELECT dtc.coupon_type_company_name,  
    count(*) * dtc.coupon_type_company_coupon_amount as 'Total_Coupon_To_Be_Used',
    dtc.coupon_type_company_coupon_months_combinable
  FROM [dbo].[coupon_type_Company_User] dtcu
  JOIN coupon_type_Company dtc ON dtcu.coupon_type_Company_ID = dtc.id
  JOIN person p ON dtcu.userID = p.userID
  WHERE coupon_type_company_coupon_is_combinable = 1 
     or coupon_type_company_has_coupon = 1 
    and dtc.companyID = 1081
    AND p.is_active = 1
  GROUP BY
    dtc.coupon_type_company_name,dtc.coupon_type_company_coupon_amount,
    dtc.coupon_type_company_coupon_months_combinable
  ) x
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51329263

复制
相关文章

相似问题

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