📋 表概述

pvpstats_battlegrounds 表以战场为单位记录每场战场的整体结果信息。每条记录对应一场完整的战场战斗,包含胜负方阵营和战场类型等数据。通过 id 关联 pvpstats_players 获取个人详细战况。

📊 表结构

字段名数据类型默认值说明
idbigint UNSIGNEDAUTO_INCREMENT战场记录唯一ID
winner_factiontinyint(无)胜利方阵营:0=联盟, 1=部落, 2=平局
bracket_idtinyint UNSIGNED(无)等级分段:0=10-19, 1=20-29, ..., 9=80
typetinyint UNSIGNED(无)战场类型ID:1=AV, 2=WSG, 3=AB, 7=EOTS, 9=SOTA 等
datedatetime(无)战场结束时间

🔍 重要字段详解

type — 战场类型

标识战场地图类型。常用值:1=奥特兰克山谷(AV)2=战歌峡谷(WSG)3=阿拉希盆地(AB)7=风暴之眼(EOTS)9=远古海滩(SOTA)30=征服之岛(IOC)

bracket_id — 等级分段

战场的等级分段系统。0 表示 10-19 级,数字加 1 后乘以 10 即为等级下限。用于区分不同等级的战场记录,便于按等级区间分析战场数据。

💡 SQL查询示例

统计各战场类型的联盟/部落胜率

SELECT type,
       SUM(CASE WHEN winner_faction = 0 THEN 1 ELSE 0 END) AS 联盟胜场,
       SUM(CASE WHEN winner_faction = 1 THEN 1 ELSE 0 END) AS 部落胜场,
       COUNT(*) AS 总场次
FROM pvpstats_battlegrounds
GROUP BY type;

查询最近10场战场记录

SELECT id, winner_faction, bracket_id, type, date
FROM pvpstats_battlegrounds
ORDER BY id DESC
LIMIT 10;

❓ 常见问题

Q: 如何获取某场战场的详细玩家数据?

通过 pvpstats_players 表关联查询,battleground_id 对应本表的 id 字段:SELECT * FROM pvpstats_players WHERE battleground_id = 1234;

Q: 表中 type 对应的所有战场完整列表?

type 值是战场地图的 Map ID 或内部枚举值。1=AV, 2=WSG, 3=AB, 7=EOTS, 9=SOTA, 30=IOC, 32=冬拥湖。具体值取决于服务端 BattlemasterList.dbc 的映射。