Php mysql A队进球总数

Php mysql A队进球总数,php,mysql,Php,Mysql,我试图找出A队在过去6场比赛中的得分和失球总数,无论A队是主队还是客队。 例如:我们假设$teamA='Arsenal'并搜索最后6个结果 结果如下: Leicester City 1 - 1 Arsenal Everton 2 - 2 Arsenal Arsenal 2 - 1 Crystal Palace Norwich City 0 - 2 Arsenal Arsenal 1 - 0 West Bromwich A

我试图找出A队在过去6场比赛中的得分和失球总数,无论A队是主队还是客队。 例如:我们假设$teamA='Arsenal'并搜索最后6个结果

结果如下:

Leicester City  1 - 1   Arsenal
Everton         2 - 2   Arsenal
Arsenal         2 - 1   Crystal Palace
Norwich City    0 - 2   Arsenal
Arsenal         1 - 0   West Bromwich Albion
Arsenal         3 - 0   Newcastle United
上面是获取最后6个结果的查询输出,现在我需要获取$teamA和$teamB的目标总数

$query = mysql_query("SELECT * FROM football WHERE `HomeTeam` = '$teamA' OR AwayTeam = '$teamA' ");

while ($row = mysql_fetch_array($query)){

  if ($row['HomeTeam'] = $teamA){  
    $teamAgoals = $teamAgoals + $row['FTHG'];
  }


  if ($row2['AwayTeam'] = $teamA){  
    $teamAgoals = $teamAgoals + $row['FTAG'];
  }
  $tot++;

  if ($tot == 7):
    exit;
  endif;
}

我遇到的问题是,查询返回的是最近6场主场比赛或最后6场客场比赛

您可以使用
case
表达式来确定球队是主队还是客队:

SELECT   SUM (CASE WHEN `HomeTeam` = '$teamA' THEN fthg ELSE ftag END)
FROM     football
WHERE    '$teamA' IN (`HomeTeam`, `AwayTeam`)
ORDER BY `MatchDate` DESC -- I'm guessing there's something like this
LIMIT    6

@Mureinik我尝试了你的解决方案,经过一点调整,我得到了我需要的答案,谢谢你的帮助。我开始犯这个错误

每个派生表都必须有自己的别名

我在查询中添加了一个别名“totals”,效果非常好

SELECT SUM(CASE WHEN `HomeTeam` = 'Arsenal' THEN FTHG ELSE FTAG END) AS scored, SUM(CASE WHEN `AwayTeam` = 'Watford' THEN FTHG ELSE FTAG END) AS conceeded FROM ( SELECT Hometeam,Awayteam,FTHG,FTAG FROM football WHERE 'Arsenal' IN (`HomeTeam`, `Awayteam`) ORDER BY `id` DESC LIMIT 6) as totals 

你能提供模式吗?另外,在新代码中使用mysql_*函数是不推荐的。考虑切换到或替换。你想要什么结果?你如何定义“最后六场比赛”?有时间戳吗?你能显示表格结构吗?嗨,表格行是id、HomeTeam、AwayTeam、FTHG、FTAG谢谢我会改成mysqli。结果是按id DESC排序的。我需要的结果是teamA的总分和TeamBI的总分。我尝试了这一点,但不限于6,是否可以使用这一点进行子查询