gpt4 book ai didi

SQL:基于列值的 Count()

转载 作者:行者123 更新时间:2023-12-03 12:00:49 24 4
gpt4 key购买 nike

我有一个表如下:

CallID   | CompanyID  | OutcomeID
----------------------------------
1234 | 3344 | 36
1235 | 3344 | 36
1236 | 3344 | 36
1237 | 3344 | 37
1238 | 3344 | 39
1239 | 6677 | 37
1240 | 6677 | 37

我想创建一个 SQL 脚本来计算销售结果的数量和所有其他尝试的数量(任何 <> 36),例如:
CompanyID  | SalesCount  | NonSalesCount
------------------------------------------
3344 | 3 | 1
6677 | 0 | 2

有没有办法做一个包含像 COUNT(CallID WHERE OutcomeID = 36) 这样的条件的 COUNT() ?

最佳答案

您可以将 CASE 表达式与聚合一起使用,以获得基于 outcomeId 的总数。值(value):

select companyId,
sum(case when outcomeid = 36 then 1 else 0 end) SalesCount,
sum(case when outcomeid <> 36 then 1 else 0 end) NonSalesCount
from yourtable
group by companyId;

SQL Fiddle with Demo

关于SQL:基于列值的 Count(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com