本文目录导读:

要判断“关键传球哪队更多”,需要看你 PHP 项目里 “关键传球”对应的数据字段和球队关联方式,仅凭这句话无法直接得出哪队更多,但可以按下面思路快速定位和实现。
先确认数据表结构
通常会有类似表:
比赛表 matches
id home_team_id away_team_id match_time
球队表 teams
id name
技术统计表 match_stats
id match_id team_id key_passes
key_passes:关键传球数team_id:哪支球队match_id:哪场比赛
查询某场比赛哪队关键传球更多
假设你要查 match_id = 1001:
SELECT
t.name AS team_name,
ms.key_passes
FROM match_stats ms
JOIN teams t ON t.id = ms.team_id
WHERE ms.match_id = 1001
ORDER BY ms.key_passes DESC;
结果第一条就是关键传球更多的球队。
PHP 示例代码
<?php
$pdo = new PDO("mysql:host=localhost;dbname=football;charset=utf8mb4", "root", "password");
$matchId = 1001;
$sql = "
SELECT
t.name AS team_name,
ms.key_passes
FROM match_stats ms
JOIN teams t ON t.id = ms.team_id
WHERE ms.match_id = :match_id
ORDER BY ms.key_passes DESC
";
$stmt = $pdo->prepare($sql);
$stmt->execute([':match_id' => $matchId]);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($rows) >= 2) {
$first = $rows[0];
$second = $rows[1];
if ($first['key_passes'] > $second['key_passes']) {
echo $first['team_name'] . " 关键传球更多,为 " . $first['key_passes'] . " 次";
} elseif ($first['key_passes'] < $second['key_passes']) {
echo $second['team_name'] . " 关键传球更多,为 " . $second['key_passes'] . " 次";
} else {
echo "两队关键传球相同,均为 " . $first['key_passes'] . " 次";
}
}
如果你是统计整个赛季哪队关键传球更多
SELECT
t.name AS team_name,
SUM(ms.key_passes) AS total_key_passes
FROM match_stats ms
JOIN teams t ON t.id = ms.team_id
GROUP BY ms.team_id, t.name
ORDER BY total_key_passes DESC;
PHP:
$sql = "
SELECT
t.name AS team_name,
SUM(ms.key_passes) AS total_key_passes
FROM match_stats ms
JOIN teams t ON t.id = ms.team_id
GROUP BY ms.team_id, t.name
ORDER BY total_key_passes DESC
";
$stmt = $pdo->query($sql);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
echo $row['team_name'] . ": " . $row['total_key_passes'] . " 次关键传球<br>";
}
你需要检查的关键点
-
字段名是不是
key_passes有些项目叫:key_passkeyPassescritical_passeschances_created
-
统计表是否分主客队 有的是:
home_key_passes away_key_passes
那就要这样查:
SELECT m.id, ht.name AS home_team, at.name AS away_team, m.home_key_passes, m.away_key_passes FROM matches m JOIN teams ht ON ht.id = m.home_team_id JOIN teams at ON at.id = m.away_team_id WHERE m.id = 1001; -
是否按赛事、赛季、轮次筛选 如果项目里有多赛季数据,要加:
AND season_id = ? AND competition_id = ?
直接给你一个判断逻辑
if ($homeKeyPasses > $awayKeyPasses) {
echo "主队关键传球更多";
} elseif ($homeKeyPasses < $awayKeyPasses) {
echo "客队关键传球更多";
} else {
echo "两队关键传球一样多";
}
如果你把以下信息发我,我可以直接帮你写准确 SQL / PHP:
- 相关表名
- 关键传球字段名
- 是单场还是赛季统计
- 主客队字段怎么存
例如建表 SQL 或一段现有查询代码即可。