SQl/DB2 - 仅显示存在 3 次或更多次的行

  • 本文关键字:存在 DB2 显示 SQl sql db2
  • 更新时间 :
  • 英文 :


使用此语句,我得到以下结果:

SELECT Employee.Lastname, Employee.Firstnme, EMP_ACT.Projno
FROM Employee Join EMP_ACT 
On Employee.Empno = EMP_Act.Empno

结果:

HAAS            CHRISTINE    AD3100
PULASKI         EVA          AD3110
JEFFERSON       JAMES        AD3111
JEFFERSON       JAMES        AD3111
JEFFERSON       JAMES        AD3111
JEFFERSON       JAMES        AD3111
JEFFERSON       JAMES        AD3111

现在我只想显示存在 3 次或更多次的行。最后一列应显示 Projno 的数量。

例如:杰斐逊詹姆斯 5

我试过这种方式:

GROUP BY Projno HAVING COUNT(*) >= 3

但我总是收到错误:/

谢谢

您希望按 select 语句中使用的所有非聚合列进行分组。

SELECT Employee.Lastname, Employee.Firstnme, EMP_ACT.Projno, COUNT(*)
    FROM Employee 
        Join EMP_ACT 
            On Employee.Empno = EMP_Act.Empno
    GROUP BY Employee.Lastname, Employee.Firstnme, EMP_ACT.Projno
    HAVING COUNT(*) >= 3