ScoutQL sources and columns
FROM chooses the source. Its columns are the entire vocabulary available to
the rest of the query: what SELECT can aggregate, what WHERE can test, and
what GROUP BY can collapse on.
Not every column is valid everywhere, and the Valid in column below says where each one may appear. A column that reads as a whole game — the queue, the map, whether the game was surrendered — cannot always be a per-player measurement, and a per-player measurement is not always a sensible grouping.
Columns marked derived are computed by Scout rather than stored: player,
champion, patch, and outcome exist because grouping by a raw id produces
a leaderboard of numbers.
Sources
Section titled “Sources”| Source | Contents | Time column | Notes |
|---|---|---|---|
match_participants | One row per participant per finished match. | game_creation_at | Accepts player('…'). |
prematch_participants | Champion-select / lobby observations, one row per participant. | observed_at | Accepts player('…'). |
match_teams | Team-level objective counts and first-objective flags, two rows per match; no player identity, so global scope only. | game_creation_at | — |
match_team_bans | Champion bans, one row per ban slot per team per match; no player identity, so global scope only. Ban rate is bans of a champion divided by matches in the same scope — run COUNT(DISTINCT match_id) with the same filters for the denominator. | game_creation_at | — |
timeline_frames | Per-minute snapshots of each player — gold, CS, XP, level, stats — one row per player per minute, for matches whose timeline Scout has. Not every match has one; say an answer covers games with timeline data. | game_creation_at | Accepts player('…'). |
timeline_events | Everything that happened in a game, one row per event — kills, objectives, buildings, purchases, level-ups, wards — for matches whose timeline Scout has. Not every match has one; say an answer covers games with timeline data. | game_creation_at | Accepts player('…'). |
player_groups | Teammate groups of tracked players queueing together; GROUP BY group(n|all). | game_creation_at | Groups with group(2…5 | all). |
rank_current | Current rank snapshot, one row per tracked player. | none | — |
competition_match_participants | Match participants scoped to one competition's players and range. | game_creation_at | Requires a top-level competition_id = <n> condition. Accepts player('…'). |
competition_rank | Current standings snapshot for one competition. | none | Requires a top-level competition_id = <n> condition. |
match_participants is the right source for almost every report: one row per
tracked player per finished match.
The time column
Section titled “The time column”A source’s time column is the one a time
bound
is measured on, and the one DATE_TRUNC buckets for a trend. Matches are
timestamped when the lobby was created (game_creation_at); champion-select
observations are timestamped when Scout saw them (observed_at).
The two rank sources have no time column, so they accept no window and no time bucket. They are snapshots of where players stand right now — there is no history in them to slice.
match_participants
One row per participant per finished match. Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
match_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot match id (region-qualified). |
game_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot numeric game id. |
platform_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot platform shard (e.g. NA1). |
game_creation_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the lobby was created (UTC). |
game_start_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the game started (UTC). |
game_end_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the game ended (UTC). |
game_duration_seconds | integer | match data | SELECT · WHERE · GROUP BY | Game length in seconds. |
queue_id | integer | match data | SELECT · WHERE · GROUP BY | Riot numeric queue id. |
queue | varchar | match data | SELECT · WHERE · GROUP BY | Queue name (solo, flex, aram, …); NULL for unmapped queues. |
game_mode | varchar | match data | SELECT · WHERE · GROUP BY | Riot game mode (CLASSIC, ARAM, …). |
game_type | varchar | match data | SELECT · WHERE · GROUP BY | Riot game type (MATCHED_GAME, …). |
game_version | varchar | match data | SELECT · WHERE · GROUP BY | Full game version string (see the patch dimension). |
data_source | varchar | match data | SELECT · WHERE · GROUP BY | Where the match result came from: RIOT, or SCOUT_CLIENT for a game Riot never published that a player's Scout Client captured. |
end_of_game_result | varchar | match data | SELECT · WHERE · GROUP BY | End-of-game result (GameComplete, or an abort state). |
map_id | integer | match data | SELECT · WHERE · GROUP BY | Riot numeric map id. |
puuid | varchar | match data | SELECT · WHERE · GROUP BY | Riot player UUID for this participant. |
participant_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot within the match (1–10). |
team_id | integer | match data | SELECT · WHERE · GROUP BY | Team id (100 blue, 200 red). |
riot_id_game_name | varchar | match data | SELECT · WHERE · GROUP BY | Riot ID game name at match time. |
riot_id_tagline | varchar | match data | SELECT · WHERE · GROUP BY | Riot ID tagline at match time. |
summoner_name | varchar | match data | SELECT · WHERE · GROUP BY | Legacy summoner name. |
champion_id | integer | match data | SELECT · WHERE · GROUP BY | Numeric champion id (compare with champion('Name')). |
champion_name | varchar | match data | SELECT · WHERE · GROUP BY | Champion Data-Dragon key name. |
team_position | varchar | match data | SELECT · WHERE · GROUP BY | Riot-assigned team position (TOP, JUNGLE, …). |
individual_position | varchar | match data | SELECT · WHERE · GROUP BY | Riot-computed most-likely position. |
lane | varchar | match data | SELECT · WHERE · GROUP BY | Reported lane. |
role | varchar | match data | SELECT · WHERE · GROUP BY | Reported role. |
win | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant won. |
surrendered | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant's team surrendered. |
early_surrendered | boolean | match data | SELECT · WHERE · GROUP BY | Whether the team surrendered early (remake window). |
game_ended_in_surrender | boolean | match data | SELECT · WHERE · GROUP BY | Whether the game ended in any surrender. |
game_ended_in_early_surrender | boolean | match data | SELECT · WHERE · GROUP BY | Whether the game ended in an early surrender. |
team_early_surrendered | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant's team early-surrendered. |
kills | integer | match data | SELECT · WHERE · GROUP BY | Champion kills. |
deaths | integer | match data | SELECT · WHERE · GROUP BY | Deaths. |
assists | integer | match data | SELECT · WHERE · GROUP BY | Assists. |
kda | double | match data | SELECT · WHERE · GROUP BY | KDA for this game: (kills + assists) / max(deaths, 1). |
creep_score | integer | match data | SELECT · WHERE · GROUP BY | Total creep score (lane + neutral minions). |
total_minions_killed | integer | match data | SELECT · WHERE · GROUP BY | Lane minions killed. |
neutral_minions_killed | integer | match data | SELECT · WHERE · GROUP BY | Neutral (jungle) minions killed. |
gold_earned | integer | match data | SELECT · WHERE · GROUP BY | Gold earned. |
gold_spent | integer | match data | SELECT · WHERE · GROUP BY | Gold spent. |
total_damage_dealt | integer | match data | SELECT · WHERE · GROUP BY | Total damage dealt. |
total_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | Damage dealt to champions. |
magic_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | Magic damage dealt to champions. |
physical_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | Physical damage dealt to champions. |
true_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | True damage dealt to champions. |
total_damage_taken | integer | match data | SELECT · WHERE · GROUP BY | Damage taken. |
damage_self_mitigated | integer | match data | SELECT · WHERE · GROUP BY | Damage self-mitigated. |
damage_dealt_to_objectives | integer | match data | SELECT · WHERE · GROUP BY | Damage dealt to objectives. |
damage_dealt_to_turrets | integer | match data | SELECT · WHERE · GROUP BY | Damage dealt to turrets. |
total_heal | integer | match data | SELECT · WHERE · GROUP BY | Total healing done. |
total_heals_on_teammates | integer | match data | SELECT · WHERE · GROUP BY | Healing done to teammates. |
vision_score | integer | match data | SELECT · WHERE · GROUP BY | Vision score. |
wards_placed | integer | match data | SELECT · WHERE · GROUP BY | Wards placed. |
wards_killed | integer | match data | SELECT · WHERE · GROUP BY | Wards killed. |
vision_wards_bought_in_game | integer | match data | SELECT · WHERE · GROUP BY | Control wards bought. |
detector_wards_placed | integer | match data | SELECT · WHERE · GROUP BY | Control wards placed. |
all_in_pings | integer | match data | SELECT · WHERE · GROUP BY | All-in pings sent. |
assist_me_pings | integer | match data | SELECT · WHERE · GROUP BY | Assist-me pings sent. |
basic_pings | integer | match data | SELECT · WHERE · GROUP BY | Basic pings sent. |
command_pings | integer | match data | SELECT · WHERE · GROUP BY | Command pings sent. |
danger_pings | integer | match data | SELECT · WHERE · GROUP BY | Danger pings sent. |
enemy_missing_pings | integer | match data | SELECT · WHERE · GROUP BY | Enemy-missing pings sent. |
enemy_vision_pings | integer | match data | SELECT · WHERE · GROUP BY | Enemy-vision pings sent. |
get_back_pings | integer | match data | SELECT · WHERE · GROUP BY | Get-back pings sent. |
hold_pings | integer | match data | SELECT · WHERE · GROUP BY | Hold pings sent. |
need_vision_pings | integer | match data | SELECT · WHERE · GROUP BY | Need-vision pings sent. |
on_my_way_pings | integer | match data | SELECT · WHERE · GROUP BY | On-my-way pings sent. |
push_pings | integer | match data | SELECT · WHERE · GROUP BY | Push pings sent. |
vision_cleared_pings | integer | match data | SELECT · WHERE · GROUP BY | Vision-cleared pings sent. |
double_kills | integer | match data | SELECT · WHERE · GROUP BY | Double kills. |
triple_kills | integer | match data | SELECT · WHERE · GROUP BY | Triple kills. |
quadra_kills | integer | match data | SELECT · WHERE · GROUP BY | Quadra kills. |
penta_kills | integer | match data | SELECT · WHERE · GROUP BY | Penta kills. |
largest_multi_kill | integer | match data | SELECT · WHERE · GROUP BY | Largest multikill. |
killing_sprees | integer | match data | SELECT · WHERE · GROUP BY | Killing sprees. |
first_blood_kill | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant took first blood. |
champ_level | integer | match data | SELECT · WHERE · GROUP BY | Final champion level. |
champ_experience | integer | match data | SELECT · WHERE · GROUP BY | Final champion experience. |
time_played | integer | match data | SELECT · WHERE · GROUP BY | Seconds played. |
total_time_spent_dead | integer | match data | SELECT · WHERE · GROUP BY | Seconds spent dead. |
longest_time_spent_living | integer | match data | SELECT · WHERE · GROUP BY | Longest time alive, in seconds. |
time_ccing_others | integer | match data | SELECT · WHERE · GROUP BY | Seconds spent crowd-controlling others. |
turret_kills | integer | match data | SELECT · WHERE · GROUP BY | Turrets destroyed. |
inhibitor_kills | integer | match data | SELECT · WHERE · GROUP BY | Inhibitors destroyed. |
baron_kills | integer | match data | SELECT · WHERE · GROUP BY | Barons killed. |
dragon_kills | integer | match data | SELECT · WHERE · GROUP BY | Dragons killed. |
placement | integer | match data | SELECT · WHERE · GROUP BY | Arena placement (NULL outside Arena). |
subteam_placement | integer | match data | SELECT · WHERE · GROUP BY | Arena subteam placement (NULL outside Arena). |
player_subteam_id | integer | match data | SELECT · WHERE · GROUP BY | Arena subteam id (NULL outside Arena). |
item0 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 1 when the game ended (0 is empty); the items column names the whole build. |
item1 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 2 when the game ended (0 is empty). |
item2 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 3 when the game ended (0 is empty). |
item3 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 4 when the game ended (0 is empty). |
item4 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 5 when the game ended (0 is empty). |
item5 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 6 when the game ended (0 is empty). |
item6 | integer | match data | SELECT · WHERE · GROUP BY | Trinket item id when the game ended (0 is empty). |
summoner1_id | integer | match data | SELECT · WHERE · GROUP BY | First summoner spell id (the summoner1 column names it). |
summoner2_id | integer | match data | SELECT · WHERE · GROUP BY | Second summoner spell id (the summoner2 column names it). |
perk_primary_style | integer | match data | SELECT · WHERE · GROUP BY | Primary rune tree id (the primary_tree column names it). NULL without runes (Arena). |
perk_sub_style | integer | match data | SELECT · WHERE · GROUP BY | Secondary rune tree id (the secondary_tree column names it). |
perk0 | integer | match data | SELECT · WHERE · GROUP BY | Keystone rune id (the keystone column names it). |
perk1 | integer | match data | SELECT · WHERE · GROUP BY | Second primary-tree rune id. |
perk2 | integer | match data | SELECT · WHERE · GROUP BY | Third primary-tree rune id. |
perk3 | integer | match data | SELECT · WHERE · GROUP BY | Fourth primary-tree rune id. |
perk4 | integer | match data | SELECT · WHERE · GROUP BY | First secondary-tree rune id. |
perk5 | integer | match data | SELECT · WHERE · GROUP BY | Second secondary-tree rune id. |
stat_perk_offense | integer | match data | SELECT · WHERE · GROUP BY | Offense stat shard id. |
stat_perk_flex | integer | match data | SELECT · WHERE · GROUP BY | Flex stat shard id. |
stat_perk_defense | integer | match data | SELECT · WHERE · GROUP BY | Defense stat shard id. |
player | varchar | derived | SELECT · WHERE · GROUP BY | Tracked player (alias in guild scope, Riot ID globally). Filter with player('…'). |
champion | varchar | derived | SELECT · WHERE · GROUP BY | Champion display dimension (champion_name). |
patch | varchar | derived | SELECT · WHERE · GROUP BY | Game patch (major.minor of game_version). |
outcome | varchar | derived | SELECT · WHERE · GROUP BY | 'Win' or 'Loss' (from win). |
surrender_state | varchar | derived | SELECT · WHERE · GROUP BY | 'Early surrender', 'Surrender', or 'Played out'. |
arena_placement | varchar | derived | SELECT · WHERE · GROUP BY | Arena placement label ('Not Arena' outside Arena). |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id). |
keystone | varchar | derived | SELECT · WHERE · GROUP BY | Keystone rune name (from perk0). |
primary_tree | varchar | derived | SELECT · WHERE · GROUP BY | Primary rune tree name (Precision, Domination, …). |
secondary_tree | varchar | derived | SELECT · WHERE · GROUP BY | Secondary rune tree name. |
summoner1 | varchar | derived | SELECT · WHERE · GROUP BY | First summoner spell name. |
summoner2 | varchar | derived | SELECT · WHERE · GROUP BY | Second summoner spell name. |
spells | varchar | derived | SELECT · WHERE · GROUP BY | Both summoner spells in name order, e.g. 'Flash + Ignite' — the same pair whichever key it sat on. |
items | varchar | derived | SELECT · WHERE · GROUP BY | The final six-slot build as item names in name order (no trinket). Final inventory, not build order. |
team_champion_kills | integer | derived | SELECT · WHERE | Champion kills by this participant's whole team in the game (from the team row). |
kill_participation | double | derived | SELECT · WHERE | Share of the team's kills this participant took part in: (kills + assists) / team champion kills. NULL when the team had no kills. |
prematch_participants
Champion-select / lobby observations, one row per participant. Time bounds and DATE_TRUNC buckets are measured on observed_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
game_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot numeric game id. |
platform_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot platform shard (e.g. NA1). |
observed_at | timestamp | match data | SELECT · WHERE · GROUP BY | When Scout observed the lobby (UTC). |
game_start_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the game started (UTC). |
queue_id | integer | match data | SELECT · WHERE · GROUP BY | Riot numeric queue id. |
queue | varchar | match data | SELECT · WHERE · GROUP BY | Queue name (solo, flex, aram, …); NULL for unmapped queues. |
game_mode | varchar | match data | SELECT · WHERE · GROUP BY | Riot game mode (CLASSIC, ARAM, …). |
game_type | varchar | match data | SELECT · WHERE · GROUP BY | Riot game type (MATCHED_GAME, …). |
map_id | integer | match data | SELECT · WHERE · GROUP BY | Riot numeric map id. |
puuid | varchar | match data | SELECT · WHERE · GROUP BY | Riot player UUID for this participant. |
team_id | integer | match data | SELECT · WHERE · GROUP BY | Team id (100 blue, 200 red). |
player_subteam_id | integer | match data | SELECT · WHERE · GROUP BY | Arena subteam id (NULL outside Arena). |
champion_id | integer | match data | SELECT · WHERE · GROUP BY | Numeric champion id (compare with champion('Name')). |
riot_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot ID as observed in champion select. |
summoner_name | varchar | match data | SELECT · WHERE · GROUP BY | Legacy summoner name. |
selected_skin_index | integer | match data | SELECT · WHERE · GROUP BY | Selected skin index. |
bot | boolean | match data | SELECT · WHERE · GROUP BY | Whether the participant is a bot. |
player | varchar | derived | SELECT · WHERE · GROUP BY | Tracked player (alias in guild scope, Riot ID globally). Filter with player('…'). |
champion | varchar | derived | SELECT · WHERE · GROUP BY | Champion dimension (numeric id shown — prematch rows carry no name). |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id). |
match_teams
Team-level objective counts and first-objective flags, two rows per match; no player identity, so global scope only. Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
match_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot match id (region-qualified). |
team_id | integer | match data | SELECT · WHERE · GROUP BY | Team id (100 blue, 200 red) — one row per team, two per match. |
win | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team won. |
baron_kills | integer | match data | SELECT · WHERE · GROUP BY | Barons this team killed. |
first_baron | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team took the first baron. |
champion_kills | integer | match data | SELECT · WHERE · GROUP BY | Champion kills by this team. |
first_champion_kill | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team took first blood. |
dragon_kills | integer | match data | SELECT · WHERE · GROUP BY | Dragons this team killed. |
first_dragon | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team took the first dragon. |
inhibitor_kills | integer | match data | SELECT · WHERE · GROUP BY | Inhibitors this team destroyed. |
first_inhibitor | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team destroyed the first inhibitor. |
rift_herald_kills | integer | match data | SELECT · WHERE · GROUP BY | Rift Heralds this team killed. |
first_rift_herald | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team took the first Rift Herald. |
tower_kills | integer | match data | SELECT · WHERE · GROUP BY | Towers this team destroyed. |
first_tower | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team destroyed the first tower. |
void_grub_kills | integer | match data | SELECT · WHERE · GROUP BY | Void Grubs this team killed. |
first_void_grub | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team took the first Void Grub. |
atakhan_kills | integer | match data | SELECT · WHERE · GROUP BY | Atakhans this team killed. |
first_atakhan | boolean | match data | SELECT · WHERE · GROUP BY | Whether this team took the first Atakhan. |
epic_monster_feat_state | integer | match data | SELECT · WHERE · GROUP BY | Riot's feat-of-strength state for epic monsters (0 none, 1 in progress, 2 earned). |
first_blood_feat_state | integer | match data | SELECT · WHERE · GROUP BY | Riot's first-blood feat state (0 none, 1 in progress, 2 earned). |
first_turret_feat_state | integer | match data | SELECT · WHERE · GROUP BY | Riot's first-turret feat state (0 none, 1 in progress, 2 earned). |
outcome | varchar | derived | SELECT · WHERE · GROUP BY | 'Win' or 'Loss' (from win). |
side | varchar | derived | SELECT · WHERE · GROUP BY | 'Blue' or 'Red' (from team_id); the raw id for modes that use others. |
game_creation_at | timestamp | derived | SELECT · WHERE · GROUP BY | When the lobby was created (UTC), from the match this team played. |
queue | varchar | derived | SELECT · WHERE · GROUP BY | Queue name of the match (solo, flex, aram, …); NULL for unmapped queues. |
patch | varchar | derived | SELECT · WHERE · GROUP BY | Game patch (major.minor) of the match this team played. |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id) of the match. |
match_team_bans
Champion bans, one row per ban slot per team per match; no player identity, so global scope only. Ban rate is bans of a champion divided by matches in the same scope — run COUNT(DISTINCT match_id) with the same filters for the denominator. Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
match_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot match id (region-qualified). |
team_id | integer | match data | SELECT · WHERE · GROUP BY | The banning team (100 blue, 200 red). |
pick_turn | integer | match data | SELECT · WHERE · GROUP BY | Which ban slot this was, in draft order (1-10). |
champion_id | integer | match data | SELECT · WHERE · GROUP BY | Banned champion's numeric id (compare with champion('Name')); -1 is an unused ban slot. |
champion | varchar | derived | SELECT · WHERE · GROUP BY | Banned champion's name, from Scout's champion registry ('No ban' for an unused slot). |
side | varchar | derived | SELECT · WHERE · GROUP BY | 'Blue' or 'Red' (from team_id); the raw id for modes that use others. |
game_creation_at | timestamp | derived | SELECT · WHERE · GROUP BY | When the lobby was created (UTC), from the match this team played. |
queue | varchar | derived | SELECT · WHERE · GROUP BY | Queue name of the match (solo, flex, aram, …); NULL for unmapped queues. |
patch | varchar | derived | SELECT · WHERE · GROUP BY | Game patch (major.minor) of the match this team played. |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id) of the match. |
timeline_frames
Per-minute snapshots of each player — gold, CS, XP, level, stats — one row per player per minute, for matches whose timeline Scout has. Not every match has one; say an answer covers games with timeline data. Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
match_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot match id (region-qualified). |
observed_at | timestamp | match data | SELECT · WHERE · GROUP BY | When Scout ingested this timeline (UTC) — not when the game was played; use game_creation_at for that. |
frame_index | integer | match data | SELECT · WHERE · GROUP BY | Frame number within the game, normally one per minute from 0. |
frame_timestamp_ms | bigint | match data | SELECT · WHERE · GROUP BY | Game clock at this frame, in milliseconds (see the minute column). |
participant_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot within the match (1–10). |
puuid | varchar | match data | SELECT · WHERE · GROUP BY | Riot player UUID for this participant. |
position_x | integer | match data | SELECT · WHERE · GROUP BY | Map x coordinate at this frame. |
position_y | integer | match data | SELECT · WHERE · GROUP BY | Map y coordinate at this frame. |
current_gold | integer | match data | SELECT · WHERE · GROUP BY | Unspent gold at this frame. |
total_gold | integer | match data | SELECT · WHERE · GROUP BY | Gold earned so far, spent or not, at this frame. |
gold_per_second | integer | match data | SELECT · WHERE · GROUP BY | Passive gold income per second at this frame. |
minions_killed | integer | match data | SELECT · WHERE · GROUP BY | Lane minions killed so far at this frame. |
jungle_minions_killed | integer | match data | SELECT · WHERE · GROUP BY | Jungle monsters killed so far at this frame. |
level | integer | match data | SELECT · WHERE · GROUP BY | Champion level at this frame. |
xp | integer | match data | SELECT · WHERE · GROUP BY | Experience earned so far at this frame. |
time_enemy_spent_controlled | double | match data | SELECT · WHERE · GROUP BY | Seconds of crowd control applied to enemies so far. |
ability_haste | double | match data | SELECT · WHERE · GROUP BY | Ability haste at this frame. |
ability_power | double | match data | SELECT · WHERE · GROUP BY | Ability power at this frame. |
armor | double | match data | SELECT · WHERE · GROUP BY | Armor at this frame. |
attack_damage | double | match data | SELECT · WHERE · GROUP BY | Attack damage at this frame. |
attack_speed | double | match data | SELECT · WHERE · GROUP BY | Attack speed at this frame. |
health | double | match data | SELECT · WHERE · GROUP BY | Current health at this frame. |
health_max | double | match data | SELECT · WHERE · GROUP BY | Maximum health at this frame. |
magic_resist | double | match data | SELECT · WHERE · GROUP BY | Magic resist at this frame. |
movement_speed | double | match data | SELECT · WHERE · GROUP BY | Movement speed at this frame. |
power | double | match data | SELECT · WHERE · GROUP BY | Current mana or energy at this frame. |
power_max | double | match data | SELECT · WHERE · GROUP BY | Maximum mana or energy at this frame. |
total_damage_done | double | match data | SELECT · WHERE · GROUP BY | Total damage dealt so far at this frame. |
total_damage_done_to_champions | double | match data | SELECT · WHERE · GROUP BY | Damage dealt to champions so far at this frame. |
total_damage_taken | double | match data | SELECT · WHERE · GROUP BY | Damage taken so far at this frame. |
player | varchar | derived | SELECT · WHERE · GROUP BY | Tracked player (alias in guild scope, Riot ID globally). Filter with player('…'). |
champion | varchar | derived | SELECT · WHERE · GROUP BY | Champion the player was on (from their participant row). |
champion_id | integer | derived | WHERE | Numeric id of the champion the player was on (compare with champion('Name')). |
team_position | varchar | derived | SELECT · WHERE · GROUP BY | Position the player was assigned (TOP, JUNGLE, MIDDLE, BOTTOM, UTILITY). |
outcome | varchar | derived | SELECT · WHERE · GROUP BY | 'Win' or 'Loss' for the player's team in that game. |
side | varchar | derived | SELECT · WHERE · GROUP BY | 'Blue' or 'Red' (from the player's team). |
game_creation_at | timestamp | derived | SELECT · WHERE · GROUP BY | When the lobby was created (UTC), from the match. |
queue | varchar | derived | SELECT · WHERE · GROUP BY | Queue name of the match (solo, flex, aram, …). |
patch | varchar | derived | SELECT · WHERE · GROUP BY | Game patch (major.minor) of the match. |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id) of the match. |
minute | integer | derived | SELECT · WHERE · GROUP BY | Whole minutes on the game clock at this frame: WHERE minute = 10 for the ten-minute mark. |
creep_score | integer | derived | SELECT · WHERE | Lane minions plus jungle monsters killed so far at this frame. |
team_gold_diff | integer | derived | SELECT · WHERE | The player's team's total gold minus the other team's, at this frame. NULL outside two-team modes. |
lane_gold_diff | integer | derived | SELECT · WHERE | The player's total gold minus their lane opponent's (same position, other team), at this frame. NULL without an assigned position. |
timeline_events
Everything that happened in a game, one row per event — kills, objectives, buildings, purchases, level-ups, wards — for matches whose timeline Scout has. Not every match has one; say an answer covers games with timeline data. Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
event_id | varchar | match data | SELECT · WHERE · GROUP BY | Scout's id for this event. |
match_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot match id (region-qualified). |
observed_at | timestamp | match data | SELECT · WHERE · GROUP BY | When Scout ingested this timeline (UTC) — not when the game was played; use game_creation_at for that. |
frame_index | integer | match data | SELECT · WHERE · GROUP BY | Frame (minute) the event fell in. |
event_index | integer | match data | SELECT · WHERE · GROUP BY | Order of the event within its frame. |
frame_timestamp_ms | bigint | match data | SELECT · WHERE · GROUP BY | Game clock at the start of the event's frame, in milliseconds. |
event_timestamp_ms | bigint | match data | SELECT · WHERE · GROUP BY | Game clock when the event happened, in milliseconds (see the minute column). |
event_type | varchar | match data | SELECT · WHERE · GROUP BY | What happened: CHAMPION_KILL, ELITE_MONSTER_KILL, BUILDING_KILL, ITEM_PURCHASED, SKILL_LEVEL_UP, WARD_PLACED, … |
participant_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot the event is about, for purchases, level-ups and similar (1–10). |
killer_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot that got the kill; 0 when it was not a player. |
victim_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot that died, for champion kills. |
creator_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot that placed a ward. |
team_id | integer | match data | SELECT · WHERE · GROUP BY | For a building kill, the team that lost the building (100 blue, 200 red). |
killer_team_id | integer | match data | SELECT · WHERE · GROUP BY | For a monster kill, the team that took it (100 blue, 200 red). |
item_id | integer | match data | SELECT · WHERE · GROUP BY | Item bought, sold or undone. |
after_id | integer | match data | SELECT · WHERE · GROUP BY | Item after an undo. |
before_id | integer | match data | SELECT · WHERE · GROUP BY | Item before an undo. |
skill_slot | integer | match data | SELECT · WHERE · GROUP BY | Ability levelled (1 Q, 2 W, 3 E, 4 R). |
level | integer | match data | SELECT · WHERE · GROUP BY | Level reached, for a level-up. |
bounty | integer | match data | SELECT · WHERE · GROUP BY | Gold bounty on a champion kill. |
shutdown_bounty | integer | match data | SELECT · WHERE · GROUP BY | Shutdown gold on a champion kill. |
kill_streak_length | integer | match data | SELECT · WHERE · GROUP BY | Victim's kill streak that was ended. |
gold_gain | integer | match data | SELECT · WHERE · GROUP BY | Gold the event awarded. |
position_x | integer | match data | SELECT · WHERE · GROUP BY | Map x coordinate of the event. |
position_y | integer | match data | SELECT · WHERE · GROUP BY | Map y coordinate of the event. |
ward_type | varchar | match data | SELECT · WHERE · GROUP BY | Ward kind, for ward events. |
building_type | varchar | match data | SELECT · WHERE · GROUP BY | TOWER_BUILDING or INHIBITOR_BUILDING, for building kills. |
lane_type | varchar | match data | SELECT · WHERE · GROUP BY | Lane of a building kill. |
tower_type | varchar | match data | SELECT · WHERE · GROUP BY | Tower tier, for tower kills (OUTER_TURRET, INNER_TURRET, …). |
monster_type | varchar | match data | SELECT · WHERE · GROUP BY | DRAGON, BARON_NASHOR, RIFTHERALD, HORDE (void grubs) or ATAKHAN, for monster kills. |
monster_sub_type | varchar | match data | SELECT · WHERE · GROUP BY | Dragon kind — ELDER_DRAGON, or FIRE/WATER/EARTH/AIR/HEXTECH/CHEMTECH_DRAGON. |
level_up_type | varchar | match data | SELECT · WHERE · GROUP BY | How a skill was levelled. |
winning_team_id | integer | match data | SELECT · WHERE · GROUP BY | Team that won, on the game-end event. |
real_timestamp_ms | bigint | match data | SELECT · WHERE · GROUP BY | Wall-clock time of the event, in milliseconds since the epoch. |
player | varchar | derived | SELECT · WHERE · GROUP BY | The player who acted — got the kill, bought the item, placed the ward. Filter with player('…'). |
champion | varchar | derived | SELECT · WHERE · GROUP BY | Champion the acting player was on. |
champion_id | integer | derived | WHERE | Numeric id of the acting player's champion (compare with champion('Name')). |
team_position | varchar | derived | SELECT · WHERE · GROUP BY | Position the acting player was assigned. |
game_creation_at | timestamp | derived | SELECT · WHERE · GROUP BY | When the lobby was created (UTC), from the match. |
queue | varchar | derived | SELECT · WHERE · GROUP BY | Queue name of the match (solo, flex, aram, …). |
patch | varchar | derived | SELECT · WHERE · GROUP BY | Game patch (major.minor) of the match. |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id) of the match. |
minute | integer | derived | SELECT · WHERE · GROUP BY | Whole minutes on the game clock when the event happened. |
is_first_of_kind | boolean | derived | SELECT · WHERE · GROUP BY | Whether this is the first event of its type and monster or building type in its match — the first dragon, the first baron, the first tower. Decided over the whole match, whatever else is filtered. |
killer_team_won | boolean | derived | SELECT · WHERE · GROUP BY | For a monster kill, whether the team that took it won the game. |
assist_count | integer | derived | SELECT · WHERE | Players credited with an assist on this event. |
is_solo_kill | boolean | derived | SELECT · WHERE · GROUP BY | A champion kill by a player with no assists; executions are not solo kills. |
player_groups
Teammate groups of tracked players queueing together; GROUP BY group(n|all). Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
game_creation_at | timestamp | match data | WHERE | When the lobby was created (UTC). |
game_start_at | timestamp | match data | WHERE | When the game started (UTC). |
game_end_at | timestamp | match data | WHERE | When the game ended (UTC). |
game_duration_seconds | integer | match data | SELECT · WHERE | Game length in seconds. |
queue_id | integer | match data | SELECT · WHERE | Riot numeric queue id. |
queue | varchar | match data | SELECT · WHERE | Queue name (solo, flex, aram, …); NULL for unmapped queues. |
game_mode | varchar | match data | SELECT · WHERE | Riot game mode (CLASSIC, ARAM, …). |
game_type | varchar | match data | SELECT · WHERE | Riot game type (MATCHED_GAME, …). |
game_version | varchar | match data | SELECT · WHERE | Full game version string (see the patch dimension). |
data_source | varchar | match data | SELECT | Where the match result came from: RIOT, or SCOUT_CLIENT for a game Riot never published that a player's Scout Client captured. |
end_of_game_result | varchar | match data | SELECT · WHERE | End-of-game result (GameComplete, or an abort state). |
map_id | integer | match data | SELECT · WHERE | Riot numeric map id. |
win | boolean | match data | SELECT · WHERE | Whether this participant won. |
surrendered | boolean | match data | SELECT · WHERE | Whether this participant's team surrendered. |
early_surrendered | boolean | match data | SELECT · WHERE | Whether the team surrendered early (remake window). |
game_ended_in_surrender | boolean | match data | SELECT · WHERE | Whether the game ended in any surrender. |
game_ended_in_early_surrender | boolean | match data | SELECT · WHERE | Whether the game ended in an early surrender. |
team_early_surrendered | boolean | match data | SELECT · WHERE | Whether this participant's team early-surrendered. |
kills | integer | match data | SELECT | Champion kills. |
deaths | integer | match data | SELECT | Deaths. |
assists | integer | match data | SELECT | Assists. |
creep_score | integer | match data | SELECT | Total creep score (lane + neutral minions). |
total_minions_killed | integer | match data | SELECT | Lane minions killed. |
neutral_minions_killed | integer | match data | SELECT | Neutral (jungle) minions killed. |
gold_earned | integer | match data | SELECT | Gold earned. |
gold_spent | integer | match data | SELECT | Gold spent. |
total_damage_dealt | integer | match data | SELECT | Total damage dealt. |
total_damage_dealt_to_champions | integer | match data | SELECT | Damage dealt to champions. |
magic_damage_dealt_to_champions | integer | match data | SELECT | Magic damage dealt to champions. |
physical_damage_dealt_to_champions | integer | match data | SELECT | Physical damage dealt to champions. |
true_damage_dealt_to_champions | integer | match data | SELECT | True damage dealt to champions. |
total_damage_taken | integer | match data | SELECT | Damage taken. |
damage_self_mitigated | integer | match data | SELECT | Damage self-mitigated. |
damage_dealt_to_objectives | integer | match data | SELECT | Damage dealt to objectives. |
damage_dealt_to_turrets | integer | match data | SELECT | Damage dealt to turrets. |
total_heal | integer | match data | SELECT | Total healing done. |
total_heals_on_teammates | integer | match data | SELECT | Healing done to teammates. |
vision_score | integer | match data | SELECT | Vision score. |
wards_placed | integer | match data | SELECT | Wards placed. |
wards_killed | integer | match data | SELECT | Wards killed. |
vision_wards_bought_in_game | integer | match data | SELECT | Control wards bought. |
detector_wards_placed | integer | match data | SELECT | Control wards placed. |
all_in_pings | integer | match data | SELECT | All-in pings sent. |
assist_me_pings | integer | match data | SELECT | Assist-me pings sent. |
basic_pings | integer | match data | SELECT | Basic pings sent. |
command_pings | integer | match data | SELECT | Command pings sent. |
danger_pings | integer | match data | SELECT | Danger pings sent. |
enemy_missing_pings | integer | match data | SELECT | Enemy-missing pings sent. |
enemy_vision_pings | integer | match data | SELECT | Enemy-vision pings sent. |
get_back_pings | integer | match data | SELECT | Get-back pings sent. |
hold_pings | integer | match data | SELECT | Hold pings sent. |
need_vision_pings | integer | match data | SELECT | Need-vision pings sent. |
on_my_way_pings | integer | match data | SELECT | On-my-way pings sent. |
push_pings | integer | match data | SELECT | Push pings sent. |
vision_cleared_pings | integer | match data | SELECT | Vision-cleared pings sent. |
double_kills | integer | match data | SELECT | Double kills. |
triple_kills | integer | match data | SELECT | Triple kills. |
quadra_kills | integer | match data | SELECT | Quadra kills. |
penta_kills | integer | match data | SELECT | Penta kills. |
largest_multi_kill | integer | match data | SELECT | Largest multikill. |
killing_sprees | integer | match data | SELECT | Killing sprees. |
champ_level | integer | match data | SELECT | Final champion level. |
champ_experience | integer | match data | SELECT | Final champion experience. |
time_played | integer | match data | SELECT | Seconds played. |
total_time_spent_dead | integer | match data | SELECT | Seconds spent dead. |
longest_time_spent_living | integer | match data | SELECT | Longest time alive, in seconds. |
time_ccing_others | integer | match data | SELECT | Seconds spent crowd-controlling others. |
turret_kills | integer | match data | SELECT | Turrets destroyed. |
inhibitor_kills | integer | match data | SELECT | Inhibitors destroyed. |
baron_kills | integer | match data | SELECT | Barons killed. |
dragon_kills | integer | match data | SELECT | Dragons killed. |
rank_current
Current rank snapshot, one row per tracked player. It is a snapshot and carries no timestamp column.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
player | varchar | derived | SELECT · WHERE · GROUP BY | Tracked player this snapshot row belongs to. |
score | double | match data | SELECT · WHERE | Rank score (higher is better). |
rank | integer | match data | SELECT · WHERE | Position within the snapshot (1 = best). |
competition_match_participants
Match participants scoped to one competition's players and range. Time bounds and DATE_TRUNC buckets are measured on game_creation_at.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
match_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot match id (region-qualified). |
game_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot numeric game id. |
platform_id | varchar | match data | SELECT · WHERE · GROUP BY | Riot platform shard (e.g. NA1). |
game_creation_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the lobby was created (UTC). |
game_start_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the game started (UTC). |
game_end_at | timestamp | match data | SELECT · WHERE · GROUP BY | When the game ended (UTC). |
game_duration_seconds | integer | match data | SELECT · WHERE · GROUP BY | Game length in seconds. |
queue_id | integer | match data | SELECT · WHERE · GROUP BY | Riot numeric queue id. |
queue | varchar | match data | SELECT · WHERE · GROUP BY | Queue name (solo, flex, aram, …); NULL for unmapped queues. |
game_mode | varchar | match data | SELECT · WHERE · GROUP BY | Riot game mode (CLASSIC, ARAM, …). |
game_type | varchar | match data | SELECT · WHERE · GROUP BY | Riot game type (MATCHED_GAME, …). |
game_version | varchar | match data | SELECT · WHERE · GROUP BY | Full game version string (see the patch dimension). |
data_source | varchar | match data | SELECT · WHERE · GROUP BY | Where the match result came from: RIOT, or SCOUT_CLIENT for a game Riot never published that a player's Scout Client captured. |
end_of_game_result | varchar | match data | SELECT · WHERE · GROUP BY | End-of-game result (GameComplete, or an abort state). |
map_id | integer | match data | SELECT · WHERE · GROUP BY | Riot numeric map id. |
puuid | varchar | match data | SELECT · WHERE · GROUP BY | Riot player UUID for this participant. |
participant_id | integer | match data | SELECT · WHERE · GROUP BY | Participant slot within the match (1–10). |
team_id | integer | match data | SELECT · WHERE · GROUP BY | Team id (100 blue, 200 red). |
riot_id_game_name | varchar | match data | SELECT · WHERE · GROUP BY | Riot ID game name at match time. |
riot_id_tagline | varchar | match data | SELECT · WHERE · GROUP BY | Riot ID tagline at match time. |
summoner_name | varchar | match data | SELECT · WHERE · GROUP BY | Legacy summoner name. |
champion_id | integer | match data | SELECT · WHERE · GROUP BY | Numeric champion id (compare with champion('Name')). |
champion_name | varchar | match data | SELECT · WHERE · GROUP BY | Champion Data-Dragon key name. |
team_position | varchar | match data | SELECT · WHERE · GROUP BY | Riot-assigned team position (TOP, JUNGLE, …). |
individual_position | varchar | match data | SELECT · WHERE · GROUP BY | Riot-computed most-likely position. |
lane | varchar | match data | SELECT · WHERE · GROUP BY | Reported lane. |
role | varchar | match data | SELECT · WHERE · GROUP BY | Reported role. |
win | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant won. |
surrendered | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant's team surrendered. |
early_surrendered | boolean | match data | SELECT · WHERE · GROUP BY | Whether the team surrendered early (remake window). |
game_ended_in_surrender | boolean | match data | SELECT · WHERE · GROUP BY | Whether the game ended in any surrender. |
game_ended_in_early_surrender | boolean | match data | SELECT · WHERE · GROUP BY | Whether the game ended in an early surrender. |
team_early_surrendered | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant's team early-surrendered. |
kills | integer | match data | SELECT · WHERE · GROUP BY | Champion kills. |
deaths | integer | match data | SELECT · WHERE · GROUP BY | Deaths. |
assists | integer | match data | SELECT · WHERE · GROUP BY | Assists. |
kda | double | match data | SELECT · WHERE · GROUP BY | KDA for this game: (kills + assists) / max(deaths, 1). |
creep_score | integer | match data | SELECT · WHERE · GROUP BY | Total creep score (lane + neutral minions). |
total_minions_killed | integer | match data | SELECT · WHERE · GROUP BY | Lane minions killed. |
neutral_minions_killed | integer | match data | SELECT · WHERE · GROUP BY | Neutral (jungle) minions killed. |
gold_earned | integer | match data | SELECT · WHERE · GROUP BY | Gold earned. |
gold_spent | integer | match data | SELECT · WHERE · GROUP BY | Gold spent. |
total_damage_dealt | integer | match data | SELECT · WHERE · GROUP BY | Total damage dealt. |
total_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | Damage dealt to champions. |
magic_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | Magic damage dealt to champions. |
physical_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | Physical damage dealt to champions. |
true_damage_dealt_to_champions | integer | match data | SELECT · WHERE · GROUP BY | True damage dealt to champions. |
total_damage_taken | integer | match data | SELECT · WHERE · GROUP BY | Damage taken. |
damage_self_mitigated | integer | match data | SELECT · WHERE · GROUP BY | Damage self-mitigated. |
damage_dealt_to_objectives | integer | match data | SELECT · WHERE · GROUP BY | Damage dealt to objectives. |
damage_dealt_to_turrets | integer | match data | SELECT · WHERE · GROUP BY | Damage dealt to turrets. |
total_heal | integer | match data | SELECT · WHERE · GROUP BY | Total healing done. |
total_heals_on_teammates | integer | match data | SELECT · WHERE · GROUP BY | Healing done to teammates. |
vision_score | integer | match data | SELECT · WHERE · GROUP BY | Vision score. |
wards_placed | integer | match data | SELECT · WHERE · GROUP BY | Wards placed. |
wards_killed | integer | match data | SELECT · WHERE · GROUP BY | Wards killed. |
vision_wards_bought_in_game | integer | match data | SELECT · WHERE · GROUP BY | Control wards bought. |
detector_wards_placed | integer | match data | SELECT · WHERE · GROUP BY | Control wards placed. |
all_in_pings | integer | match data | SELECT · WHERE · GROUP BY | All-in pings sent. |
assist_me_pings | integer | match data | SELECT · WHERE · GROUP BY | Assist-me pings sent. |
basic_pings | integer | match data | SELECT · WHERE · GROUP BY | Basic pings sent. |
command_pings | integer | match data | SELECT · WHERE · GROUP BY | Command pings sent. |
danger_pings | integer | match data | SELECT · WHERE · GROUP BY | Danger pings sent. |
enemy_missing_pings | integer | match data | SELECT · WHERE · GROUP BY | Enemy-missing pings sent. |
enemy_vision_pings | integer | match data | SELECT · WHERE · GROUP BY | Enemy-vision pings sent. |
get_back_pings | integer | match data | SELECT · WHERE · GROUP BY | Get-back pings sent. |
hold_pings | integer | match data | SELECT · WHERE · GROUP BY | Hold pings sent. |
need_vision_pings | integer | match data | SELECT · WHERE · GROUP BY | Need-vision pings sent. |
on_my_way_pings | integer | match data | SELECT · WHERE · GROUP BY | On-my-way pings sent. |
push_pings | integer | match data | SELECT · WHERE · GROUP BY | Push pings sent. |
vision_cleared_pings | integer | match data | SELECT · WHERE · GROUP BY | Vision-cleared pings sent. |
double_kills | integer | match data | SELECT · WHERE · GROUP BY | Double kills. |
triple_kills | integer | match data | SELECT · WHERE · GROUP BY | Triple kills. |
quadra_kills | integer | match data | SELECT · WHERE · GROUP BY | Quadra kills. |
penta_kills | integer | match data | SELECT · WHERE · GROUP BY | Penta kills. |
largest_multi_kill | integer | match data | SELECT · WHERE · GROUP BY | Largest multikill. |
killing_sprees | integer | match data | SELECT · WHERE · GROUP BY | Killing sprees. |
first_blood_kill | boolean | match data | SELECT · WHERE · GROUP BY | Whether this participant took first blood. |
champ_level | integer | match data | SELECT · WHERE · GROUP BY | Final champion level. |
champ_experience | integer | match data | SELECT · WHERE · GROUP BY | Final champion experience. |
time_played | integer | match data | SELECT · WHERE · GROUP BY | Seconds played. |
total_time_spent_dead | integer | match data | SELECT · WHERE · GROUP BY | Seconds spent dead. |
longest_time_spent_living | integer | match data | SELECT · WHERE · GROUP BY | Longest time alive, in seconds. |
time_ccing_others | integer | match data | SELECT · WHERE · GROUP BY | Seconds spent crowd-controlling others. |
turret_kills | integer | match data | SELECT · WHERE · GROUP BY | Turrets destroyed. |
inhibitor_kills | integer | match data | SELECT · WHERE · GROUP BY | Inhibitors destroyed. |
baron_kills | integer | match data | SELECT · WHERE · GROUP BY | Barons killed. |
dragon_kills | integer | match data | SELECT · WHERE · GROUP BY | Dragons killed. |
placement | integer | match data | SELECT · WHERE · GROUP BY | Arena placement (NULL outside Arena). |
subteam_placement | integer | match data | SELECT · WHERE · GROUP BY | Arena subteam placement (NULL outside Arena). |
player_subteam_id | integer | match data | SELECT · WHERE · GROUP BY | Arena subteam id (NULL outside Arena). |
item0 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 1 when the game ended (0 is empty); the items column names the whole build. |
item1 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 2 when the game ended (0 is empty). |
item2 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 3 when the game ended (0 is empty). |
item3 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 4 when the game ended (0 is empty). |
item4 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 5 when the game ended (0 is empty). |
item5 | integer | match data | SELECT · WHERE · GROUP BY | Item id in inventory slot 6 when the game ended (0 is empty). |
item6 | integer | match data | SELECT · WHERE · GROUP BY | Trinket item id when the game ended (0 is empty). |
summoner1_id | integer | match data | SELECT · WHERE · GROUP BY | First summoner spell id (the summoner1 column names it). |
summoner2_id | integer | match data | SELECT · WHERE · GROUP BY | Second summoner spell id (the summoner2 column names it). |
perk_primary_style | integer | match data | SELECT · WHERE · GROUP BY | Primary rune tree id (the primary_tree column names it). NULL without runes (Arena). |
perk_sub_style | integer | match data | SELECT · WHERE · GROUP BY | Secondary rune tree id (the secondary_tree column names it). |
perk0 | integer | match data | SELECT · WHERE · GROUP BY | Keystone rune id (the keystone column names it). |
perk1 | integer | match data | SELECT · WHERE · GROUP BY | Second primary-tree rune id. |
perk2 | integer | match data | SELECT · WHERE · GROUP BY | Third primary-tree rune id. |
perk3 | integer | match data | SELECT · WHERE · GROUP BY | Fourth primary-tree rune id. |
perk4 | integer | match data | SELECT · WHERE · GROUP BY | First secondary-tree rune id. |
perk5 | integer | match data | SELECT · WHERE · GROUP BY | Second secondary-tree rune id. |
stat_perk_offense | integer | match data | SELECT · WHERE · GROUP BY | Offense stat shard id. |
stat_perk_flex | integer | match data | SELECT · WHERE · GROUP BY | Flex stat shard id. |
stat_perk_defense | integer | match data | SELECT · WHERE · GROUP BY | Defense stat shard id. |
player | varchar | derived | SELECT · WHERE · GROUP BY | Tracked player (alias in guild scope, Riot ID globally). Filter with player('…'). |
champion | varchar | derived | SELECT · WHERE · GROUP BY | Champion display dimension (champion_name). |
patch | varchar | derived | SELECT · WHERE · GROUP BY | Game patch (major.minor of game_version). |
outcome | varchar | derived | SELECT · WHERE · GROUP BY | 'Win' or 'Loss' (from win). |
surrender_state | varchar | derived | SELECT · WHERE · GROUP BY | 'Early surrender', 'Surrender', or 'Played out'. |
arena_placement | varchar | derived | SELECT · WHERE · GROUP BY | Arena placement label ('Not Arena' outside Arena). |
map | integer | derived | SELECT · WHERE · GROUP BY | Map dimension (map_id). |
keystone | varchar | derived | SELECT · WHERE · GROUP BY | Keystone rune name (from perk0). |
primary_tree | varchar | derived | SELECT · WHERE · GROUP BY | Primary rune tree name (Precision, Domination, …). |
secondary_tree | varchar | derived | SELECT · WHERE · GROUP BY | Secondary rune tree name. |
summoner1 | varchar | derived | SELECT · WHERE · GROUP BY | First summoner spell name. |
summoner2 | varchar | derived | SELECT · WHERE · GROUP BY | Second summoner spell name. |
spells | varchar | derived | SELECT · WHERE · GROUP BY | Both summoner spells in name order, e.g. 'Flash + Ignite' — the same pair whichever key it sat on. |
items | varchar | derived | SELECT · WHERE · GROUP BY | The final six-slot build as item names in name order (no trinket). Final inventory, not build order. |
team_champion_kills | integer | derived | SELECT · WHERE | Champion kills by this participant's whole team in the game (from the team row). |
kill_participation | double | derived | SELECT · WHERE | Share of the team's kills this participant took part in: (kills + assists) / team champion kills. NULL when the team had no kills. |
competition_id | integer | derived | WHERE | Competition to report on — required as a top-level `competition_id = <n>` condition. |
competition_rank
Current standings snapshot for one competition. It is a snapshot and carries no timestamp column.
| Column | Type | Origin | Valid in | Meaning |
|---|---|---|---|---|
player | varchar | derived | SELECT · WHERE · GROUP BY | Tracked player this snapshot row belongs to. |
score | double | match data | SELECT · WHERE | Rank score (higher is better). |
rank | integer | match data | SELECT · WHERE | Position within the snapshot (1 = best). |
competition_id | integer | derived | WHERE | Competition to report on — required as a top-level `competition_id = <n>` condition. |
Grouping
Section titled “Grouping”GROUP BY accepts any column marked valid there, plus expressions over them:
GROUP BY DATE_TRUNC('week', game_creation_at)— a calendar bucket, which is what a line or area chart plots against.GROUP BY FLOOR(game_duration_seconds / 300) * 300— a numeric bucket, which is what a histogram counts into.GROUP BY ALL— DuckDB’s shorthand for “group by every non-aggregate output”.GROUP BY group(2)…group(5),group(all)— only onplayer_groups, where the dimension is a set of tracked players who queued together.- No
GROUP BYat all — one grand-total row, which is what a KPI card shows.