Sql 使用列a在列B中查找重复项?

Sql 使用列a在列B中查找重复项?,sql,postgresql,Sql,Postgresql,我有一张这样的桌子(对不起,这张桌子太难看了) 我在设置下一个部分时遇到了很多麻烦,如果有任何帮助,我将不胜感激 此代码返回为emnekode重复的行 SELECT bnavn FROM emnestud WHERE emnekode IN ('inf1300', 'inf2220') group by bnavn having count(1)>1 SELECT emnekode FROM emnestud GROUP BY emnekode HAVING COUNT(*) &

我有一张这样的桌子(对不起,这张桌子太难看了)


我在设置下一个部分时遇到了很多麻烦,如果有任何帮助,我将不胜感激

此代码返回为emnekode重复的行

SELECT bnavn
 FROM emnestud
 WHERE emnekode IN ('inf1300', 'inf2220')
group by bnavn
having count(1)>1
SELECT emnekode
 FROM emnestud
GROUP BY emnekode
HAVING
 COUNT(*) > 1
这对你有帮助吗?

试试这个:

SELECT DISTINCT bnavn 
FROM emnestud 
WHERE grnr in(
  SELECT grnr
   FROM emnestud
    WHERE emnekode IN ('inf1300', 'inf2220')
    GROUP BY grnr
    HAVING COUNT(1)>1);

您需要使用
group by
子句和一些
count()
函数来合计每个组中有多少
gruppe
值,然后使用
having
子句仅过滤出count>1的值。
SELECT emnekode
 FROM emnestud
GROUP BY emnekode
HAVING
 COUNT(*) > 1
SELECT DISTINCT bnavn 
FROM emnestud 
WHERE grnr in(
  SELECT grnr
   FROM emnestud
    WHERE emnekode IN ('inf1300', 'inf2220')
    GROUP BY grnr
    HAVING COUNT(1)>1);