问:显示所有玩家的名字谁有以下:之间的差异,最小和最大的游戏数,这名球员是大于5。
select p.name
from player p
join competition c
on c.playerID = p.playerID
where (
(select count(*) from competition
where count(games) > 1
group by playerID
) - (
select count(*) from competition
where count(games) <= 1
group by playerID
))> 5;
我有点迷路了。我不太确定这是正确的方法,我应该如何继续:我应该使用计数,找到游戏的最小和最大数量,并与大于5比较,还是我应该使用计数,最小和最大的函数,而不是计数。如果有人能给我解释一下其中的逻辑,我将不胜感激。
table:
player competition
------- --------
playerID playerID
name games
birthday date
address
telefon
2条答案
按热度按时间kognpnkq1#
yshpjwxd2#
它应该是一个简单的查询:
我正在添加组中的玩家\id,因为2个人的玩家\u名称可能类似。