首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对全部(未知、已知)、未知、已知客户进行SQL查询

对全部(未知、已知)、未知、已知客户进行SQL查询
EN

Stack Overflow用户
提问于 2017-11-28 15:34:06
回答 2查看 49关注 0票数 0
代码语言:javascript
复制
Id, CustomerId, IsKnownCustomer,phonemacaddress

1,  NULL         0              00:9a:34:cf:a4
2,  004024       1              00:6f:64:cf:a0:93 
3,  004024       1              00:6f:64:cf:a0:93
4,  004003       1              2c:0e:3d:15:12:43
6,  NULL         0              2c:0e:3d:15:125
7,  004003       1              34:f3:9a:ee:53:a9
8,  004023       1              38:0B:40:DC:BA:3A
9,  NULL         0              4c:66:41:11:26:16

这是该表,所有客户、未知客户和已知客户都需要数据。

输出如下:根据语音地址唯一地查找记录。

代码语言:javascript
复制
count Customer, customer type  
7                 all
3                 unknown customer
4                 known customer
EN

回答 2

Stack Overflow用户

发布于 2017-11-28 15:44:12

你可以用这个。

代码语言:javascript
复制
SELECT COUNT(DISTINCT phonemacaddress) [count Customer] , 
    CASE 
        WHEN GROUPING(IsKnownCustomer) = 1 THEN 'all' 
        WHEN IsKnownCustomer = 1 THEN 'known customer' 
        WHEN IsKnownCustomer = 0 THEN 'unknown customer' END [customer type] 
FROM @CustomerTable
GROUP BY IsKnownCustomer WITH ROLLUP
ORDER BY GROUPING(IsKnownCustomer) DESC, IsKnownCustomer 

结果:

代码语言:javascript
复制
count Customer customer type
-------------- ----------------
7              all
3              unknown customer
4              known customer
票数 2
EN

Stack Overflow用户

发布于 2017-11-28 16:01:05

尝试此查询

代码语言:javascript
复制
select count(Id), 'All' as customer_type  from customers
union
select count(Id), 'Unknown' as customer_type  from customers
WHERE isKnownCustomer =0
union
select count(Id), 'known' as customer_type  from customers
WHERE isKnownCustomer =1;

http://sqlfiddle.com/#!9/3e7616/15

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47526245

复制
相关文章

相似问题

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