Sql,仅打印具有至少出现n次值的行

时间:2015-11-26 14:44:43

标签: mysql sql-server postgresql

我在sql中创建了两个表。 的播放器(代码(PK),姓,名)错误(playererrorcode(PK),日期,金钱,代码(FK给玩家))

所以两个表看起来像:
玩家:

A1  Surname1  Name1
A2  Surname2  Name2

和错误例如:

E1  2015/7/10  10$  A1
E2  2015/2/20  50$  A1
E3  2015/1/30  40$  A2
E4  2015/5/20  30$  A1

好吧,现在,我必须打印(选择这种语言)只有至少有3个错误的玩家!
在这种情况下,我想只打印包含以下内容的行:姓氏和姓名至少3个错误,然后它必须只打印surname1和name1。

怎么做?

1 个答案:

答案 0 :(得分:0)

在SQL Server中,您可以使用计数聚合来获取每个播放器的错误数量,并使用具有来指定所需的错误数量 - 如下所示:< / p>

SELECT
p.surname,
p.name,
FROM players as p
INNER JOIN errors as e
on p.code=e.code
GROUP BY 
p.surname,
p.name
HAVING 
COUNT(e.playererrorcode)>=3