当前位置: 首页 > 知识库问答 >
问题:

如何结合比赛结果来获得阿森纳所有六分的球队数量

巫朝明
2023-03-14

我有一个名为‘家’的表,存储的是阿森纳足球俱乐部2003-04赛季在主场的联赛表现,而‘客场’的表存储的是阿森纳在同一赛季客场的表现。

Table `home`:

Opponent           Goal_Scored      Goal_Conceded
Everton                2                 1
Aston Villa            2                 0
Portsmouth             1                 1
Newcastle United       3                 2
Chelsea                2                 1
Tottenham Hotspur      2                 1
Fulham                 0                 0
Blackburn Rovers       1                 0
Wolverhampton Wonderers 3                0
Middlesbrough          4                 1


Table `away`:

Opponent           Goal_Scored      Goal_Conceded
Everton                1                 2
Aston Villa            2                 2
Portsmouth             1                 2
Newcastle United       2                 3
Chelsea                2                 2
Tottenham Hotspur      2                 3
Fulham                 2                 0
Blackburn Rovers       1                 2
Wolverhampton Wonderers 3                2
Middlesbrough          1                 4

注意,一个队赢了得三分,平了得一分,输了得零分。

我想确定阿森纳在哪几支球队身上赢得了所有的六分。

为此,我编写了一个部分代码:

CREATE TABLE home (
    Opponent varchar(60),
    Goal_Scored int(8),
    Goal_Conceded int(8)
);

CREATE TABLE away (
    Opponent varchar(60),
    Goal_Scored int(8),
    Goal_Conceded int(8)
);

INSERT INTO home (Opponent, Goal_Scored, Goal_Conceded)
VALUES 
("Everton",2,1),
("Aston Villa",2,0),
("Portsmouth",1,1),
("Newcastle United",3,2),
("Chelsea",2,1),
("Tottenham Hotspur",2,1),
("Fulham",0,0),
("Blackburn Rovers",1,0),
("Wolverhampton Wonderers",3,0),
("Middlesbrough",4,1);


INSERT INTO away (Opponent, Goal_Scored, Goal_Conceded)
VALUES
("Everton",1,2),
("Aston Villa",2,2),
("Portsmouth",1,2),
("Newcastle United",2,3),
("Chelsea",2,2),
("Tottenham Hotspur",2,3),
("Fulham",2,0),
("Blackburn Rovers",1,2),
("Wolverhampton Wonderers",3,2),
("Middlesbrough",1,4);

为了得到组合结果,我尝试了下面的代码,但它没有产生预期的结果:

select a.opponent
from home a 
where a.goals_scored > a.goals_conceded
union all
select b.opponent
from away b 
where b.goals_scored > b.goals_conceded

但是,我应该如何结合这些结果来获得阿森纳所有6分的球队的数量

共有1个答案

唐弘厚
2023-03-14

如果我没理解错的话,下面是你能做到的:

select t.Opponent, sum(CASE WHEN goal_scored - goal_conceded > 0 THEN 3
WHEN goal_scored - goal_conceded = 0 THEN 1 ELSE 0 end ) points 
from 
( SELECT * FROM home a
  union all
  SELECT * FROM away a
) t
group by Opponent
having points = 6;

DB<>在此拨弄

 类似资料:
  • 我正在使用一个挂起的意图来启动一个闹钟(使用AlarmManager)。我需要不同的结果代码启动的活动,基于两个按钮中的哪一个放在它的用户点击(Snooze或取消)。我怎么得到这个结果?不幸的是,在关闭活动上启动finish()方法之后,没有在父活动中启动onActivityResult()方法。在Android文档中,它指出

  • 问题内容: 我一直在尝试发送HttpPost请求并获取响应,但是即使我能够建立连接,我仍然无法获得如何获取由请求-响应返回的字符串消息。 对不起,我听起来很幼稚,因为我是Java新手。请帮我。 问题答案: 尝试在您的响应中使用:

  • 我有以下疑问。 ]) 这是查询的结果。 输出1 我将得到一个$组结果。我将使用$array1。 输出 “计数”结果将复制到所有结果上。 但是$组将创建一个糟糕的结构来读取所有数据。 如何将所有OUTPUT1与OUTPUT2的$组“count”合并? 使用$组“count”,但我不想要$组结构。

  • 我有两张桌子。与文章编号相关的图像。还有一张照片上有文章编号 我想要做的是列出第一个表中的所有图像(navn)(它是一个特定的文章编号(art_id))和第二个表中的最多5个图像(其中文章编号(artid)出现在照片(fotostation)上)。 (我现在不知道该怎么做:) 这不起作用 表格: 这些表与fotostation字段相关。要在“ECS_article_images_inneholde

  • 我想在单页中获得所有的结果,我已经尝试过了 上面不起作用,有什么方法可以做到这一点吗?似乎不能像这里要求的那样从自定义查询中实现。

  • 我需要获取数据库中的所有记录作为数组使用在教义中,我的查询是这样的 即使将水合模式设置为,我也会将结果作为对象 我犯了什么错误?