本文目录导读:

要判断“关键传球哪队更多”,需要结合你的 PHP 项目里的 数据表结构、字段含义 和 业务口径。
因为“关键传球”在不同项目里可能对应不同字段,
key_passeskeyPasschances_createdthrough_ballsdangerous_passes- 或者由事件表统计出来的
pass中满足某条件的记录
你可以按下面思路排查和统计。
先确认“关键传球”存在哪里
常见有两种设计:
方案 A:比赛统计表里直接有字段
例如表 match_stats:
id match_id team_id team_name key_passes
这种最简单,直接比较两队 key_passes。
方案 B:事件表里逐条记录传球
例如表 match_events:
id match_id team_id player_id event_type event_subtype minute
其中关键传球可能是:
event_type = 'pass' event_subtype = 'key_pass'
这种需要分组统计。
如果字段是 key_passes,PHP 写法
假设表是 match_stats,字段有:
match_idteam_idteam_namekey_passes
<?php
$matchId = 1001; // 比赛ID
$sql = "SELECT team_name, key_passes
FROM match_stats
WHERE match_id = ?
ORDER BY key_passes DESC";
$stmt = $pdo->prepare($sql);
$stmt->execute([$matchId]);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($rows) >= 2) {
$team1 = $rows[0];
$team2 = $rows[1];
echo "{$team1['team_name']} 关键传球:{$team1['key_passes']}<br>";
echo "{$team2['team_name']} 关键传球:{$team2['key_passes']}<br>";
if ($team1['key_passes'] > $team2['key_passes']) {
echo "{$team1['team_name']} 关键传球更多";
} elseif ($team1['key_passes'] < $team2['key_passes']) {
echo "{$team2['team_name']} 关键传球更多";
} else {
echo "两队关键传球一样多";
}
}
如果关键传球在事件表里,PHP 写法
假设表 match_events:
id match_id team_id team_name event_type event_subtype
关键传球条件:
event_type = 'pass' AND event_subtype = 'key_pass'
SQL:
SELECT team_name, COUNT(*) AS key_passes FROM match_events WHERE match_id = ? AND event_type = 'pass' AND event_subtype = 'key_pass' GROUP BY team_id, team_name ORDER BY key_passes DESC;
PHP:
<?php
$matchId = 1001;
$sql = "SELECT team_name, COUNT(*) AS key_passes
FROM match_events
WHERE match_id = ?
AND event_type = 'pass'
AND event_subtype = 'key_pass'
GROUP BY team_id, team_name
ORDER BY key_passes DESC";
$stmt = $pdo->prepare($sql);
$stmt->execute([$matchId]);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($rows) >= 2) {
$team1 = $rows[0];
$team2 = $rows[1];
echo "{$team1['team_name']} 关键传球:{$team1['key_passes']}<br>";
echo "{$team2['team_name']} 关键传球:{$team2['key_passes']}<br>";
if ($team1['key_passes'] > $team2['key_passes']) {
echo "{$team1['team_name']} 关键传球更多";
} elseif ($team1['key_passes'] < $team2['key_passes']) {
echo "{$team2['team_name']} 关键传球更多";
} else {
echo "两队关键传球一样多";
}
}
如果项目里“关键传球”定义不同
你需要确认业务定义,例如有些系统里:
- 关键传球 = 传球后形成射门
- 关键传球 = 传中 + 直塞 + 威胁球
- 关键传球 =
pass_type in ('through', 'cross', 'cut_back')
那 SQL 就要改成:
SELECT team_name, COUNT(*) AS key_passes
FROM match_events
WHERE match_id = ?
AND event_type = 'pass'
AND pass_type IN ('through', 'cross', 'cut_back')
GROUP BY team_id, team_name
ORDER BY key_passes DESC;
最简单判断逻辑
不管数据怎么来,最后比较逻辑都是:
if ($teamAKeyPasses > $teamBKeyPasses) {
echo "A队关键传球更多";
} elseif ($teamAKeyPasses < $teamBKeyPasses) {
echo "B队关键传球更多";
} else {
echo "两队关键传球相同";
}
你可以直接这样查
如果你把表结构发我,
match_stats有哪些字段- 或
match_events的event_type/event_subtype - 或你项目里“关键传球”字段名
我可以直接给你一段能跑的 PHP + SQL 代码,准确判断“哪队关键传球更多”。