初学者的SQL帮助

时间:2014-02-21 13:02:08

标签: sql count average

我需要一个返回每个团队中运动员数量的查询。

它应该只显示名称长于运动员名字和姓氏的平均长度的队伍。

我有两个表团队 sportmans

这是我尝试的内容:

SELECT TIMOVI,SPORTISTI COUNT(IME_PREZIME)
FROM TIMOVI
JOIN SPORTISTI
  ON SIFRA=TIM,
GROUP BY TIMOVI
WHERE LENGTH(naziv)> ((AVG(LENGHT(ime_preizime)))/2)

1 个答案:

答案 0 :(得分:0)

这样的查询怎么样:

SELECT t.name, COUNT(s.id)
FROM team t
INNER JOIN sportsman s ON s.team = t.id
WHERE LENGTH(t.name) > (
  SELECT AVG(LENGTH(s2.name)) FROM sportsman s2
)
GROUP BY t.id

对于这样的架构:

CREATE TABLE sportsman (
  id INTEGER,
  team INTEGER,
  name VARCHAR(50)
);

CREATE TABLE team (
  id INTEGER,
  name VARCHAR(50)
);

SQL Fiddle