【发布时间】:2021-12-19 15:03:13
【问题描述】:
试图找出一个查询,该查询显示拥有 1,2 个和 3 个以上产品的客户数量。以下是表名和字段:
- 产品(prod_no, prod_cust_id)
- 客户(cust_id)
产品
| prod_no | prod_cust_id |
|---|---|
| Cheetos1 | WR123 |
| Cheetos2 | WR123 |
| Lay1 | WP232 |
| Prings | WP678 |
客户
| cust_id |
|---|
| WN999 |
| WR123 |
| WP232 |
| WP678 |
我想得到的正确查询示例是:
- 1 产品 - 100 个客户
- 2 产品 - 52 位客户
- 3 产品及以上 - 10 客户
| Product | Customers |
|---|---|
| 1 | 100 |
| 2 | 52 |
| >=3 | 10 |
我尝试了以下查询
SELECT COUNT (DISTINCT PROD_NO)"Product", CUST_ID"Customers"
FROM PRODUCT, CUSTOMER
WHERE PROD_CUST_ID = CUST_ID
HAVING COUNT(PROD_NO) >= 3 --for 3 products and above
GROUP BY CUST_ID
但结果不是我想要的,如此接近却又如此遥远。我只尝试了 3 个及以上的产品,但是如何将 1 个产品和 2 个产品相加。
请帮帮我,谢谢
【问题讨论】:
-
确实
Customer不需要出示表格