获取SQL中计数列的总和

use*_*554 4 sql t-sql join sum count

我有以下查询

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
Run Code Online (Sandbox Code Playgroud)

这将返回以下内容:

在此处输入图片说明

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

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

Eri*_*ric 5

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

SELECT SUM(Total_Coupon_To_Be_Used) AS the_sum
FROM (
   your query
) s
Run Code Online (Sandbox Code Playgroud)