SQL选择具有分组2列的所有列具有count = 1

时间:2017-07-28 04:01:39

标签: sql sql-server

我正在尝试从表中选择3列,这些列基于仅有count = 1的前2列(作为一个组)。一旦确定它们,我想引入该行的第3列。

此语句适用于前2列,但我无法添加第3列,因为我不希望由此定义搜索组。

SELECT
  Defect_Point,
  Report_Num
FROM MyCount
GROUP BY Defect_Point,
         Report_Num
HAVING COUNT(*) = 1

任何想法从哪里开始?

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你可以使用over子句和子查询来实现你想要的。

void

答案 1 :(得分:0)

您也可以尝试以下方法:

select 
  contact_uid, 
  group_uid 
from 
  relation;

(12 56), (15 56) (15 57), (12 55), (12 56)

SELECT
  contact_uid,
  group_uid
FROM relation
WHERE group_uid IN (SELECT
  group_uid
FROM relation
GROUP BY group_uid
HAVING COUNT(*) = 1);

抱歉,不知道如何美化,但这些是联系uid和group uid的列值。