【问题标题】:SQL Query to find exclusive customerSQL 查询查找专属客户
【发布时间】:2016-02-08 18:11:50
【问题描述】:

我有一个包含 Cust 和 Category 两列的表,

**Cust   Category**

   1         X
   2         Y
   1         Y
   2         Z
   3         X
   4         D

客户 1 已从类别 X 和 Y 购买,但对于“类别 X”,3 是独家客户,因为客户 3 仅从 X 购买。我想要如下三列的结果(类别,购买的客户数量类别和独家客户):

**Category  NoOfCust  ExclusiveCust**

    X         2              3
    Y         2             NULL
    Z         1             NULL
    D         1              4 

如何查询表来得到这个结果?

【问题讨论】:

  • Stackoverflow,不是免费的编码服务
  • 请展示您的尝试,以便我们为您提供帮助。
  • 大家好....我尝试了下面的查询,但它抛出了一个错误.. select category,count(cust) as NoofCust,(select (cust) from sales group by cust have count( category)=1) 来自按类别的销售组

标签: mysql sql


【解决方案1】:

使用临时表复制您的结构:

SELECT 
    Category, 
    COUNT(*) as NoOfCust, 
    CASE WHEN COUNT(*) = 1 THEN MAX(ID_W) ELSE NULL END as Exclusive
FROM #WORKER T
GROUP BY Category

【讨论】:

  • 嗨..感谢您的建议,但没有得到正确的输出..当我执行上述查询时,得到如下输出.. 类别 NoOfCust Exclusive D 1 4 X 2 NULL Y 2 NULL Z 1 2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
  • 1970-01-01
  • 2021-03-20
  • 1970-01-01
相关资源
最近更新 更多