繁体   English   中英

SQL查询,选择具有相同值的一列的行

[英]SQL query, select rows with one column of the same value

我是SQL的初学者,遇到了需要帮助的查询。 我有两个以下架构:

  • 客户(cID,cname)
  • 贸易(商品ID,CID)

我想找到只购买一种商品的客户,这意味着,对于相同的cID,它只能与贸易元组中的相同的商品ID配对。

例如:

+----------+-------+
| cID      |goodsID|
+----------+-------+
| 1000     | 1     |
| 1000     | 1     |
| 1000     | 1     |
| 1001     | 2     |
| 1001     | 3     |
| 1002     | 4     |
+----------+-------+

输出应为:

+----------+
| cID      |
+----------+
| 1000     |
| 1002     |
+----------+

我认为您需要一个简单的查询,例如:

SELECT CID
FROM yourTable
GROUP BY CID
HAVING COUNT(DISTINCT goodsID) = 1;
SELECT cID, count(goodsID)
FROM (
       SELECT DISTINCT cID, goodsID
       FROM table1
     ) as T
GROUP BY cID
HAVING count(goodsID) = 1 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM