Skip to content

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.

SourceContentsTime columnNotes
match_participantsOne row per participant per finished match.game_creation_atAccepts player('…').
prematch_participantsChampion-select / lobby observations, one row per participant.observed_atAccepts player('…').
match_teamsTeam-level objective counts and first-objective flags, two rows per match; no player identity, so global scope only.game_creation_at—
match_team_bansChampion 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_framesPer-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_atAccepts player('…').
timeline_eventsEverything 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_atAccepts player('…').
player_groupsTeammate groups of tracked players queueing together; GROUP BY group(n|all).game_creation_atGroups with group(2…5 | all).
rank_currentCurrent rank snapshot, one row per tracked player.none—
competition_match_participantsMatch participants scoped to one competition's players and range.game_creation_atRequires a top-level competition_id = <n> condition. Accepts player('…').
competition_rankCurrent standings snapshot for one competition.noneRequires 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.

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.

ColumnTypeOriginValid inMeaning
match_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot match id (region-qualified).
game_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot numeric game id.
platform_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot platform shard (e.g. NA1).
game_creation_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the lobby was created (UTC).
game_start_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the game started (UTC).
game_end_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the game ended (UTC).
game_duration_secondsintegermatch dataSELECT · WHERE · GROUP BYGame length in seconds.
queue_idintegermatch dataSELECT · WHERE · GROUP BYRiot numeric queue id.
queuevarcharmatch dataSELECT · WHERE · GROUP BYQueue name (solo, flex, aram, …); NULL for unmapped queues.
game_modevarcharmatch dataSELECT · WHERE · GROUP BYRiot game mode (CLASSIC, ARAM, …).
game_typevarcharmatch dataSELECT · WHERE · GROUP BYRiot game type (MATCHED_GAME, …).
game_versionvarcharmatch dataSELECT · WHERE · GROUP BYFull game version string (see the patch dimension).
data_sourcevarcharmatch dataSELECT · WHERE · GROUP BYWhere 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_resultvarcharmatch dataSELECT · WHERE · GROUP BYEnd-of-game result (GameComplete, or an abort state).
map_idintegermatch dataSELECT · WHERE · GROUP BYRiot numeric map id.
puuidvarcharmatch dataSELECT · WHERE · GROUP BYRiot player UUID for this participant.
participant_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot within the match (1–10).
team_idintegermatch dataSELECT · WHERE · GROUP BYTeam id (100 blue, 200 red).
riot_id_game_namevarcharmatch dataSELECT · WHERE · GROUP BYRiot ID game name at match time.
riot_id_taglinevarcharmatch dataSELECT · WHERE · GROUP BYRiot ID tagline at match time.
summoner_namevarcharmatch dataSELECT · WHERE · GROUP BYLegacy summoner name.
champion_idintegermatch dataSELECT · WHERE · GROUP BYNumeric champion id (compare with champion('Name')).
champion_namevarcharmatch dataSELECT · WHERE · GROUP BYChampion Data-Dragon key name.
team_positionvarcharmatch dataSELECT · WHERE · GROUP BYRiot-assigned team position (TOP, JUNGLE, …).
individual_positionvarcharmatch dataSELECT · WHERE · GROUP BYRiot-computed most-likely position.
lanevarcharmatch dataSELECT · WHERE · GROUP BYReported lane.
rolevarcharmatch dataSELECT · WHERE · GROUP BYReported role.
winbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant won.
surrenderedbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant's team surrendered.
early_surrenderedbooleanmatch dataSELECT · WHERE · GROUP BYWhether the team surrendered early (remake window).
game_ended_in_surrenderbooleanmatch dataSELECT · WHERE · GROUP BYWhether the game ended in any surrender.
game_ended_in_early_surrenderbooleanmatch dataSELECT · WHERE · GROUP BYWhether the game ended in an early surrender.
team_early_surrenderedbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant's team early-surrendered.
killsintegermatch dataSELECT · WHERE · GROUP BYChampion kills.
deathsintegermatch dataSELECT · WHERE · GROUP BYDeaths.
assistsintegermatch dataSELECT · WHERE · GROUP BYAssists.
kdadoublematch dataSELECT · WHERE · GROUP BYKDA for this game: (kills + assists) / max(deaths, 1).
creep_scoreintegermatch dataSELECT · WHERE · GROUP BYTotal creep score (lane + neutral minions).
total_minions_killedintegermatch dataSELECT · WHERE · GROUP BYLane minions killed.
neutral_minions_killedintegermatch dataSELECT · WHERE · GROUP BYNeutral (jungle) minions killed.
gold_earnedintegermatch dataSELECT · WHERE · GROUP BYGold earned.
gold_spentintegermatch dataSELECT · WHERE · GROUP BYGold spent.
total_damage_dealtintegermatch dataSELECT · WHERE · GROUP BYTotal damage dealt.
total_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYDamage dealt to champions.
magic_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYMagic damage dealt to champions.
physical_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYPhysical damage dealt to champions.
true_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYTrue damage dealt to champions.
total_damage_takenintegermatch dataSELECT · WHERE · GROUP BYDamage taken.
damage_self_mitigatedintegermatch dataSELECT · WHERE · GROUP BYDamage self-mitigated.
damage_dealt_to_objectivesintegermatch dataSELECT · WHERE · GROUP BYDamage dealt to objectives.
damage_dealt_to_turretsintegermatch dataSELECT · WHERE · GROUP BYDamage dealt to turrets.
total_healintegermatch dataSELECT · WHERE · GROUP BYTotal healing done.
total_heals_on_teammatesintegermatch dataSELECT · WHERE · GROUP BYHealing done to teammates.
vision_scoreintegermatch dataSELECT · WHERE · GROUP BYVision score.
wards_placedintegermatch dataSELECT · WHERE · GROUP BYWards placed.
wards_killedintegermatch dataSELECT · WHERE · GROUP BYWards killed.
vision_wards_bought_in_gameintegermatch dataSELECT · WHERE · GROUP BYControl wards bought.
detector_wards_placedintegermatch dataSELECT · WHERE · GROUP BYControl wards placed.
all_in_pingsintegermatch dataSELECT · WHERE · GROUP BYAll-in pings sent.
assist_me_pingsintegermatch dataSELECT · WHERE · GROUP BYAssist-me pings sent.
basic_pingsintegermatch dataSELECT · WHERE · GROUP BYBasic pings sent.
command_pingsintegermatch dataSELECT · WHERE · GROUP BYCommand pings sent.
danger_pingsintegermatch dataSELECT · WHERE · GROUP BYDanger pings sent.
enemy_missing_pingsintegermatch dataSELECT · WHERE · GROUP BYEnemy-missing pings sent.
enemy_vision_pingsintegermatch dataSELECT · WHERE · GROUP BYEnemy-vision pings sent.
get_back_pingsintegermatch dataSELECT · WHERE · GROUP BYGet-back pings sent.
hold_pingsintegermatch dataSELECT · WHERE · GROUP BYHold pings sent.
need_vision_pingsintegermatch dataSELECT · WHERE · GROUP BYNeed-vision pings sent.
on_my_way_pingsintegermatch dataSELECT · WHERE · GROUP BYOn-my-way pings sent.
push_pingsintegermatch dataSELECT · WHERE · GROUP BYPush pings sent.
vision_cleared_pingsintegermatch dataSELECT · WHERE · GROUP BYVision-cleared pings sent.
double_killsintegermatch dataSELECT · WHERE · GROUP BYDouble kills.
triple_killsintegermatch dataSELECT · WHERE · GROUP BYTriple kills.
quadra_killsintegermatch dataSELECT · WHERE · GROUP BYQuadra kills.
penta_killsintegermatch dataSELECT · WHERE · GROUP BYPenta kills.
largest_multi_killintegermatch dataSELECT · WHERE · GROUP BYLargest multikill.
killing_spreesintegermatch dataSELECT · WHERE · GROUP BYKilling sprees.
first_blood_killbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant took first blood.
champ_levelintegermatch dataSELECT · WHERE · GROUP BYFinal champion level.
champ_experienceintegermatch dataSELECT · WHERE · GROUP BYFinal champion experience.
time_playedintegermatch dataSELECT · WHERE · GROUP BYSeconds played.
total_time_spent_deadintegermatch dataSELECT · WHERE · GROUP BYSeconds spent dead.
longest_time_spent_livingintegermatch dataSELECT · WHERE · GROUP BYLongest time alive, in seconds.
time_ccing_othersintegermatch dataSELECT · WHERE · GROUP BYSeconds spent crowd-controlling others.
turret_killsintegermatch dataSELECT · WHERE · GROUP BYTurrets destroyed.
inhibitor_killsintegermatch dataSELECT · WHERE · GROUP BYInhibitors destroyed.
baron_killsintegermatch dataSELECT · WHERE · GROUP BYBarons killed.
dragon_killsintegermatch dataSELECT · WHERE · GROUP BYDragons killed.
placementintegermatch dataSELECT · WHERE · GROUP BYArena placement (NULL outside Arena).
subteam_placementintegermatch dataSELECT · WHERE · GROUP BYArena subteam placement (NULL outside Arena).
player_subteam_idintegermatch dataSELECT · WHERE · GROUP BYArena subteam id (NULL outside Arena).
item0integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 1 when the game ended (0 is empty); the items column names the whole build.
item1integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 2 when the game ended (0 is empty).
item2integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 3 when the game ended (0 is empty).
item3integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 4 when the game ended (0 is empty).
item4integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 5 when the game ended (0 is empty).
item5integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 6 when the game ended (0 is empty).
item6integermatch dataSELECT · WHERE · GROUP BYTrinket item id when the game ended (0 is empty).
summoner1_idintegermatch dataSELECT · WHERE · GROUP BYFirst summoner spell id (the summoner1 column names it).
summoner2_idintegermatch dataSELECT · WHERE · GROUP BYSecond summoner spell id (the summoner2 column names it).
perk_primary_styleintegermatch dataSELECT · WHERE · GROUP BYPrimary rune tree id (the primary_tree column names it). NULL without runes (Arena).
perk_sub_styleintegermatch dataSELECT · WHERE · GROUP BYSecondary rune tree id (the secondary_tree column names it).
perk0integermatch dataSELECT · WHERE · GROUP BYKeystone rune id (the keystone column names it).
perk1integermatch dataSELECT · WHERE · GROUP BYSecond primary-tree rune id.
perk2integermatch dataSELECT · WHERE · GROUP BYThird primary-tree rune id.
perk3integermatch dataSELECT · WHERE · GROUP BYFourth primary-tree rune id.
perk4integermatch dataSELECT · WHERE · GROUP BYFirst secondary-tree rune id.
perk5integermatch dataSELECT · WHERE · GROUP BYSecond secondary-tree rune id.
stat_perk_offenseintegermatch dataSELECT · WHERE · GROUP BYOffense stat shard id.
stat_perk_flexintegermatch dataSELECT · WHERE · GROUP BYFlex stat shard id.
stat_perk_defenseintegermatch dataSELECT · WHERE · GROUP BYDefense stat shard id.
playervarcharderivedSELECT · WHERE · GROUP BYTracked player (alias in guild scope, Riot ID globally). Filter with player('…').
championvarcharderivedSELECT · WHERE · GROUP BYChampion display dimension (champion_name).
patchvarcharderivedSELECT · WHERE · GROUP BYGame patch (major.minor of game_version).
outcomevarcharderivedSELECT · WHERE · GROUP BY'Win' or 'Loss' (from win).
surrender_statevarcharderivedSELECT · WHERE · GROUP BY'Early surrender', 'Surrender', or 'Played out'.
arena_placementvarcharderivedSELECT · WHERE · GROUP BYArena placement label ('Not Arena' outside Arena).
mapintegerderivedSELECT · WHERE · GROUP BYMap dimension (map_id).
keystonevarcharderivedSELECT · WHERE · GROUP BYKeystone rune name (from perk0).
primary_treevarcharderivedSELECT · WHERE · GROUP BYPrimary rune tree name (Precision, Domination, …).
secondary_treevarcharderivedSELECT · WHERE · GROUP BYSecondary rune tree name.
summoner1varcharderivedSELECT · WHERE · GROUP BYFirst summoner spell name.
summoner2varcharderivedSELECT · WHERE · GROUP BYSecond summoner spell name.
spellsvarcharderivedSELECT · WHERE · GROUP BYBoth summoner spells in name order, e.g. 'Flash + Ignite' — the same pair whichever key it sat on.
itemsvarcharderivedSELECT · WHERE · GROUP BYThe final six-slot build as item names in name order (no trinket). Final inventory, not build order.
team_champion_killsintegerderivedSELECT · WHEREChampion kills by this participant's whole team in the game (from the team row).
kill_participationdoublederivedSELECT · WHEREShare 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.

ColumnTypeOriginValid inMeaning
game_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot numeric game id.
platform_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot platform shard (e.g. NA1).
observed_attimestampmatch dataSELECT · WHERE · GROUP BYWhen Scout observed the lobby (UTC).
game_start_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the game started (UTC).
queue_idintegermatch dataSELECT · WHERE · GROUP BYRiot numeric queue id.
queuevarcharmatch dataSELECT · WHERE · GROUP BYQueue name (solo, flex, aram, …); NULL for unmapped queues.
game_modevarcharmatch dataSELECT · WHERE · GROUP BYRiot game mode (CLASSIC, ARAM, …).
game_typevarcharmatch dataSELECT · WHERE · GROUP BYRiot game type (MATCHED_GAME, …).
map_idintegermatch dataSELECT · WHERE · GROUP BYRiot numeric map id.
puuidvarcharmatch dataSELECT · WHERE · GROUP BYRiot player UUID for this participant.
team_idintegermatch dataSELECT · WHERE · GROUP BYTeam id (100 blue, 200 red).
player_subteam_idintegermatch dataSELECT · WHERE · GROUP BYArena subteam id (NULL outside Arena).
champion_idintegermatch dataSELECT · WHERE · GROUP BYNumeric champion id (compare with champion('Name')).
riot_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot ID as observed in champion select.
summoner_namevarcharmatch dataSELECT · WHERE · GROUP BYLegacy summoner name.
selected_skin_indexintegermatch dataSELECT · WHERE · GROUP BYSelected skin index.
botbooleanmatch dataSELECT · WHERE · GROUP BYWhether the participant is a bot.
playervarcharderivedSELECT · WHERE · GROUP BYTracked player (alias in guild scope, Riot ID globally). Filter with player('…').
championvarcharderivedSELECT · WHERE · GROUP BYChampion dimension (numeric id shown — prematch rows carry no name).
mapintegerderivedSELECT · WHERE · GROUP BYMap 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.

ColumnTypeOriginValid inMeaning
match_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot match id (region-qualified).
team_idintegermatch dataSELECT · WHERE · GROUP BYTeam id (100 blue, 200 red) — one row per team, two per match.
winbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team won.
baron_killsintegermatch dataSELECT · WHERE · GROUP BYBarons this team killed.
first_baronbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team took the first baron.
champion_killsintegermatch dataSELECT · WHERE · GROUP BYChampion kills by this team.
first_champion_killbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team took first blood.
dragon_killsintegermatch dataSELECT · WHERE · GROUP BYDragons this team killed.
first_dragonbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team took the first dragon.
inhibitor_killsintegermatch dataSELECT · WHERE · GROUP BYInhibitors this team destroyed.
first_inhibitorbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team destroyed the first inhibitor.
rift_herald_killsintegermatch dataSELECT · WHERE · GROUP BYRift Heralds this team killed.
first_rift_heraldbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team took the first Rift Herald.
tower_killsintegermatch dataSELECT · WHERE · GROUP BYTowers this team destroyed.
first_towerbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team destroyed the first tower.
void_grub_killsintegermatch dataSELECT · WHERE · GROUP BYVoid Grubs this team killed.
first_void_grubbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team took the first Void Grub.
atakhan_killsintegermatch dataSELECT · WHERE · GROUP BYAtakhans this team killed.
first_atakhanbooleanmatch dataSELECT · WHERE · GROUP BYWhether this team took the first Atakhan.
epic_monster_feat_stateintegermatch dataSELECT · WHERE · GROUP BYRiot's feat-of-strength state for epic monsters (0 none, 1 in progress, 2 earned).
first_blood_feat_stateintegermatch dataSELECT · WHERE · GROUP BYRiot's first-blood feat state (0 none, 1 in progress, 2 earned).
first_turret_feat_stateintegermatch dataSELECT · WHERE · GROUP BYRiot's first-turret feat state (0 none, 1 in progress, 2 earned).
outcomevarcharderivedSELECT · WHERE · GROUP BY'Win' or 'Loss' (from win).
sidevarcharderivedSELECT · WHERE · GROUP BY'Blue' or 'Red' (from team_id); the raw id for modes that use others.
game_creation_attimestampderivedSELECT · WHERE · GROUP BYWhen the lobby was created (UTC), from the match this team played.
queuevarcharderivedSELECT · WHERE · GROUP BYQueue name of the match (solo, flex, aram, …); NULL for unmapped queues.
patchvarcharderivedSELECT · WHERE · GROUP BYGame patch (major.minor) of the match this team played.
mapintegerderivedSELECT · WHERE · GROUP BYMap 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.

ColumnTypeOriginValid inMeaning
match_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot match id (region-qualified).
team_idintegermatch dataSELECT · WHERE · GROUP BYThe banning team (100 blue, 200 red).
pick_turnintegermatch dataSELECT · WHERE · GROUP BYWhich ban slot this was, in draft order (1-10).
champion_idintegermatch dataSELECT · WHERE · GROUP BYBanned champion's numeric id (compare with champion('Name')); -1 is an unused ban slot.
championvarcharderivedSELECT · WHERE · GROUP BYBanned champion's name, from Scout's champion registry ('No ban' for an unused slot).
sidevarcharderivedSELECT · WHERE · GROUP BY'Blue' or 'Red' (from team_id); the raw id for modes that use others.
game_creation_attimestampderivedSELECT · WHERE · GROUP BYWhen the lobby was created (UTC), from the match this team played.
queuevarcharderivedSELECT · WHERE · GROUP BYQueue name of the match (solo, flex, aram, …); NULL for unmapped queues.
patchvarcharderivedSELECT · WHERE · GROUP BYGame patch (major.minor) of the match this team played.
mapintegerderivedSELECT · WHERE · GROUP BYMap 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.

ColumnTypeOriginValid inMeaning
match_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot match id (region-qualified).
observed_attimestampmatch dataSELECT · WHERE · GROUP BYWhen Scout ingested this timeline (UTC) — not when the game was played; use game_creation_at for that.
frame_indexintegermatch dataSELECT · WHERE · GROUP BYFrame number within the game, normally one per minute from 0.
frame_timestamp_msbigintmatch dataSELECT · WHERE · GROUP BYGame clock at this frame, in milliseconds (see the minute column).
participant_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot within the match (1–10).
puuidvarcharmatch dataSELECT · WHERE · GROUP BYRiot player UUID for this participant.
position_xintegermatch dataSELECT · WHERE · GROUP BYMap x coordinate at this frame.
position_yintegermatch dataSELECT · WHERE · GROUP BYMap y coordinate at this frame.
current_goldintegermatch dataSELECT · WHERE · GROUP BYUnspent gold at this frame.
total_goldintegermatch dataSELECT · WHERE · GROUP BYGold earned so far, spent or not, at this frame.
gold_per_secondintegermatch dataSELECT · WHERE · GROUP BYPassive gold income per second at this frame.
minions_killedintegermatch dataSELECT · WHERE · GROUP BYLane minions killed so far at this frame.
jungle_minions_killedintegermatch dataSELECT · WHERE · GROUP BYJungle monsters killed so far at this frame.
levelintegermatch dataSELECT · WHERE · GROUP BYChampion level at this frame.
xpintegermatch dataSELECT · WHERE · GROUP BYExperience earned so far at this frame.
time_enemy_spent_controlleddoublematch dataSELECT · WHERE · GROUP BYSeconds of crowd control applied to enemies so far.
ability_hastedoublematch dataSELECT · WHERE · GROUP BYAbility haste at this frame.
ability_powerdoublematch dataSELECT · WHERE · GROUP BYAbility power at this frame.
armordoublematch dataSELECT · WHERE · GROUP BYArmor at this frame.
attack_damagedoublematch dataSELECT · WHERE · GROUP BYAttack damage at this frame.
attack_speeddoublematch dataSELECT · WHERE · GROUP BYAttack speed at this frame.
healthdoublematch dataSELECT · WHERE · GROUP BYCurrent health at this frame.
health_maxdoublematch dataSELECT · WHERE · GROUP BYMaximum health at this frame.
magic_resistdoublematch dataSELECT · WHERE · GROUP BYMagic resist at this frame.
movement_speeddoublematch dataSELECT · WHERE · GROUP BYMovement speed at this frame.
powerdoublematch dataSELECT · WHERE · GROUP BYCurrent mana or energy at this frame.
power_maxdoublematch dataSELECT · WHERE · GROUP BYMaximum mana or energy at this frame.
total_damage_donedoublematch dataSELECT · WHERE · GROUP BYTotal damage dealt so far at this frame.
total_damage_done_to_championsdoublematch dataSELECT · WHERE · GROUP BYDamage dealt to champions so far at this frame.
total_damage_takendoublematch dataSELECT · WHERE · GROUP BYDamage taken so far at this frame.
playervarcharderivedSELECT · WHERE · GROUP BYTracked player (alias in guild scope, Riot ID globally). Filter with player('…').
championvarcharderivedSELECT · WHERE · GROUP BYChampion the player was on (from their participant row).
champion_idintegerderivedWHERENumeric id of the champion the player was on (compare with champion('Name')).
team_positionvarcharderivedSELECT · WHERE · GROUP BYPosition the player was assigned (TOP, JUNGLE, MIDDLE, BOTTOM, UTILITY).
outcomevarcharderivedSELECT · WHERE · GROUP BY'Win' or 'Loss' for the player's team in that game.
sidevarcharderivedSELECT · WHERE · GROUP BY'Blue' or 'Red' (from the player's team).
game_creation_attimestampderivedSELECT · WHERE · GROUP BYWhen the lobby was created (UTC), from the match.
queuevarcharderivedSELECT · WHERE · GROUP BYQueue name of the match (solo, flex, aram, …).
patchvarcharderivedSELECT · WHERE · GROUP BYGame patch (major.minor) of the match.
mapintegerderivedSELECT · WHERE · GROUP BYMap dimension (map_id) of the match.
minuteintegerderivedSELECT · WHERE · GROUP BYWhole minutes on the game clock at this frame: WHERE minute = 10 for the ten-minute mark.
creep_scoreintegerderivedSELECT · WHERELane minions plus jungle monsters killed so far at this frame.
team_gold_diffintegerderivedSELECT · WHEREThe player's team's total gold minus the other team's, at this frame. NULL outside two-team modes.
lane_gold_diffintegerderivedSELECT · WHEREThe 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.

ColumnTypeOriginValid inMeaning
event_idvarcharmatch dataSELECT · WHERE · GROUP BYScout's id for this event.
match_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot match id (region-qualified).
observed_attimestampmatch dataSELECT · WHERE · GROUP BYWhen Scout ingested this timeline (UTC) — not when the game was played; use game_creation_at for that.
frame_indexintegermatch dataSELECT · WHERE · GROUP BYFrame (minute) the event fell in.
event_indexintegermatch dataSELECT · WHERE · GROUP BYOrder of the event within its frame.
frame_timestamp_msbigintmatch dataSELECT · WHERE · GROUP BYGame clock at the start of the event's frame, in milliseconds.
event_timestamp_msbigintmatch dataSELECT · WHERE · GROUP BYGame clock when the event happened, in milliseconds (see the minute column).
event_typevarcharmatch dataSELECT · WHERE · GROUP BYWhat happened: CHAMPION_KILL, ELITE_MONSTER_KILL, BUILDING_KILL, ITEM_PURCHASED, SKILL_LEVEL_UP, WARD_PLACED, …
participant_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot the event is about, for purchases, level-ups and similar (1–10).
killer_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot that got the kill; 0 when it was not a player.
victim_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot that died, for champion kills.
creator_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot that placed a ward.
team_idintegermatch dataSELECT · WHERE · GROUP BYFor a building kill, the team that lost the building (100 blue, 200 red).
killer_team_idintegermatch dataSELECT · WHERE · GROUP BYFor a monster kill, the team that took it (100 blue, 200 red).
item_idintegermatch dataSELECT · WHERE · GROUP BYItem bought, sold or undone.
after_idintegermatch dataSELECT · WHERE · GROUP BYItem after an undo.
before_idintegermatch dataSELECT · WHERE · GROUP BYItem before an undo.
skill_slotintegermatch dataSELECT · WHERE · GROUP BYAbility levelled (1 Q, 2 W, 3 E, 4 R).
levelintegermatch dataSELECT · WHERE · GROUP BYLevel reached, for a level-up.
bountyintegermatch dataSELECT · WHERE · GROUP BYGold bounty on a champion kill.
shutdown_bountyintegermatch dataSELECT · WHERE · GROUP BYShutdown gold on a champion kill.
kill_streak_lengthintegermatch dataSELECT · WHERE · GROUP BYVictim's kill streak that was ended.
gold_gainintegermatch dataSELECT · WHERE · GROUP BYGold the event awarded.
position_xintegermatch dataSELECT · WHERE · GROUP BYMap x coordinate of the event.
position_yintegermatch dataSELECT · WHERE · GROUP BYMap y coordinate of the event.
ward_typevarcharmatch dataSELECT · WHERE · GROUP BYWard kind, for ward events.
building_typevarcharmatch dataSELECT · WHERE · GROUP BYTOWER_BUILDING or INHIBITOR_BUILDING, for building kills.
lane_typevarcharmatch dataSELECT · WHERE · GROUP BYLane of a building kill.
tower_typevarcharmatch dataSELECT · WHERE · GROUP BYTower tier, for tower kills (OUTER_TURRET, INNER_TURRET, …).
monster_typevarcharmatch dataSELECT · WHERE · GROUP BYDRAGON, BARON_NASHOR, RIFTHERALD, HORDE (void grubs) or ATAKHAN, for monster kills.
monster_sub_typevarcharmatch dataSELECT · WHERE · GROUP BYDragon kind — ELDER_DRAGON, or FIRE/WATER/EARTH/AIR/HEXTECH/CHEMTECH_DRAGON.
level_up_typevarcharmatch dataSELECT · WHERE · GROUP BYHow a skill was levelled.
winning_team_idintegermatch dataSELECT · WHERE · GROUP BYTeam that won, on the game-end event.
real_timestamp_msbigintmatch dataSELECT · WHERE · GROUP BYWall-clock time of the event, in milliseconds since the epoch.
playervarcharderivedSELECT · WHERE · GROUP BYThe player who acted — got the kill, bought the item, placed the ward. Filter with player('…').
championvarcharderivedSELECT · WHERE · GROUP BYChampion the acting player was on.
champion_idintegerderivedWHERENumeric id of the acting player's champion (compare with champion('Name')).
team_positionvarcharderivedSELECT · WHERE · GROUP BYPosition the acting player was assigned.
game_creation_attimestampderivedSELECT · WHERE · GROUP BYWhen the lobby was created (UTC), from the match.
queuevarcharderivedSELECT · WHERE · GROUP BYQueue name of the match (solo, flex, aram, …).
patchvarcharderivedSELECT · WHERE · GROUP BYGame patch (major.minor) of the match.
mapintegerderivedSELECT · WHERE · GROUP BYMap dimension (map_id) of the match.
minuteintegerderivedSELECT · WHERE · GROUP BYWhole minutes on the game clock when the event happened.
is_first_of_kindbooleanderivedSELECT · WHERE · GROUP BYWhether 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_wonbooleanderivedSELECT · WHERE · GROUP BYFor a monster kill, whether the team that took it won the game.
assist_countintegerderivedSELECT · WHEREPlayers credited with an assist on this event.
is_solo_killbooleanderivedSELECT · WHERE · GROUP BYA 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.

ColumnTypeOriginValid inMeaning
game_creation_attimestampmatch dataWHEREWhen the lobby was created (UTC).
game_start_attimestampmatch dataWHEREWhen the game started (UTC).
game_end_attimestampmatch dataWHEREWhen the game ended (UTC).
game_duration_secondsintegermatch dataSELECT · WHEREGame length in seconds.
queue_idintegermatch dataSELECT · WHERERiot numeric queue id.
queuevarcharmatch dataSELECT · WHEREQueue name (solo, flex, aram, …); NULL for unmapped queues.
game_modevarcharmatch dataSELECT · WHERERiot game mode (CLASSIC, ARAM, …).
game_typevarcharmatch dataSELECT · WHERERiot game type (MATCHED_GAME, …).
game_versionvarcharmatch dataSELECT · WHEREFull game version string (see the patch dimension).
data_sourcevarcharmatch dataSELECTWhere 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_resultvarcharmatch dataSELECT · WHEREEnd-of-game result (GameComplete, or an abort state).
map_idintegermatch dataSELECT · WHERERiot numeric map id.
winbooleanmatch dataSELECT · WHEREWhether this participant won.
surrenderedbooleanmatch dataSELECT · WHEREWhether this participant's team surrendered.
early_surrenderedbooleanmatch dataSELECT · WHEREWhether the team surrendered early (remake window).
game_ended_in_surrenderbooleanmatch dataSELECT · WHEREWhether the game ended in any surrender.
game_ended_in_early_surrenderbooleanmatch dataSELECT · WHEREWhether the game ended in an early surrender.
team_early_surrenderedbooleanmatch dataSELECT · WHEREWhether this participant's team early-surrendered.
killsintegermatch dataSELECTChampion kills.
deathsintegermatch dataSELECTDeaths.
assistsintegermatch dataSELECTAssists.
creep_scoreintegermatch dataSELECTTotal creep score (lane + neutral minions).
total_minions_killedintegermatch dataSELECTLane minions killed.
neutral_minions_killedintegermatch dataSELECTNeutral (jungle) minions killed.
gold_earnedintegermatch dataSELECTGold earned.
gold_spentintegermatch dataSELECTGold spent.
total_damage_dealtintegermatch dataSELECTTotal damage dealt.
total_damage_dealt_to_championsintegermatch dataSELECTDamage dealt to champions.
magic_damage_dealt_to_championsintegermatch dataSELECTMagic damage dealt to champions.
physical_damage_dealt_to_championsintegermatch dataSELECTPhysical damage dealt to champions.
true_damage_dealt_to_championsintegermatch dataSELECTTrue damage dealt to champions.
total_damage_takenintegermatch dataSELECTDamage taken.
damage_self_mitigatedintegermatch dataSELECTDamage self-mitigated.
damage_dealt_to_objectivesintegermatch dataSELECTDamage dealt to objectives.
damage_dealt_to_turretsintegermatch dataSELECTDamage dealt to turrets.
total_healintegermatch dataSELECTTotal healing done.
total_heals_on_teammatesintegermatch dataSELECTHealing done to teammates.
vision_scoreintegermatch dataSELECTVision score.
wards_placedintegermatch dataSELECTWards placed.
wards_killedintegermatch dataSELECTWards killed.
vision_wards_bought_in_gameintegermatch dataSELECTControl wards bought.
detector_wards_placedintegermatch dataSELECTControl wards placed.
all_in_pingsintegermatch dataSELECTAll-in pings sent.
assist_me_pingsintegermatch dataSELECTAssist-me pings sent.
basic_pingsintegermatch dataSELECTBasic pings sent.
command_pingsintegermatch dataSELECTCommand pings sent.
danger_pingsintegermatch dataSELECTDanger pings sent.
enemy_missing_pingsintegermatch dataSELECTEnemy-missing pings sent.
enemy_vision_pingsintegermatch dataSELECTEnemy-vision pings sent.
get_back_pingsintegermatch dataSELECTGet-back pings sent.
hold_pingsintegermatch dataSELECTHold pings sent.
need_vision_pingsintegermatch dataSELECTNeed-vision pings sent.
on_my_way_pingsintegermatch dataSELECTOn-my-way pings sent.
push_pingsintegermatch dataSELECTPush pings sent.
vision_cleared_pingsintegermatch dataSELECTVision-cleared pings sent.
double_killsintegermatch dataSELECTDouble kills.
triple_killsintegermatch dataSELECTTriple kills.
quadra_killsintegermatch dataSELECTQuadra kills.
penta_killsintegermatch dataSELECTPenta kills.
largest_multi_killintegermatch dataSELECTLargest multikill.
killing_spreesintegermatch dataSELECTKilling sprees.
champ_levelintegermatch dataSELECTFinal champion level.
champ_experienceintegermatch dataSELECTFinal champion experience.
time_playedintegermatch dataSELECTSeconds played.
total_time_spent_deadintegermatch dataSELECTSeconds spent dead.
longest_time_spent_livingintegermatch dataSELECTLongest time alive, in seconds.
time_ccing_othersintegermatch dataSELECTSeconds spent crowd-controlling others.
turret_killsintegermatch dataSELECTTurrets destroyed.
inhibitor_killsintegermatch dataSELECTInhibitors destroyed.
baron_killsintegermatch dataSELECTBarons killed.
dragon_killsintegermatch dataSELECTDragons killed.

rank_current

Current rank snapshot, one row per tracked player. It is a snapshot and carries no timestamp column.

ColumnTypeOriginValid inMeaning
playervarcharderivedSELECT · WHERE · GROUP BYTracked player this snapshot row belongs to.
scoredoublematch dataSELECT · WHERERank score (higher is better).
rankintegermatch dataSELECT · WHEREPosition 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.

ColumnTypeOriginValid inMeaning
match_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot match id (region-qualified).
game_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot numeric game id.
platform_idvarcharmatch dataSELECT · WHERE · GROUP BYRiot platform shard (e.g. NA1).
game_creation_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the lobby was created (UTC).
game_start_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the game started (UTC).
game_end_attimestampmatch dataSELECT · WHERE · GROUP BYWhen the game ended (UTC).
game_duration_secondsintegermatch dataSELECT · WHERE · GROUP BYGame length in seconds.
queue_idintegermatch dataSELECT · WHERE · GROUP BYRiot numeric queue id.
queuevarcharmatch dataSELECT · WHERE · GROUP BYQueue name (solo, flex, aram, …); NULL for unmapped queues.
game_modevarcharmatch dataSELECT · WHERE · GROUP BYRiot game mode (CLASSIC, ARAM, …).
game_typevarcharmatch dataSELECT · WHERE · GROUP BYRiot game type (MATCHED_GAME, …).
game_versionvarcharmatch dataSELECT · WHERE · GROUP BYFull game version string (see the patch dimension).
data_sourcevarcharmatch dataSELECT · WHERE · GROUP BYWhere 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_resultvarcharmatch dataSELECT · WHERE · GROUP BYEnd-of-game result (GameComplete, or an abort state).
map_idintegermatch dataSELECT · WHERE · GROUP BYRiot numeric map id.
puuidvarcharmatch dataSELECT · WHERE · GROUP BYRiot player UUID for this participant.
participant_idintegermatch dataSELECT · WHERE · GROUP BYParticipant slot within the match (1–10).
team_idintegermatch dataSELECT · WHERE · GROUP BYTeam id (100 blue, 200 red).
riot_id_game_namevarcharmatch dataSELECT · WHERE · GROUP BYRiot ID game name at match time.
riot_id_taglinevarcharmatch dataSELECT · WHERE · GROUP BYRiot ID tagline at match time.
summoner_namevarcharmatch dataSELECT · WHERE · GROUP BYLegacy summoner name.
champion_idintegermatch dataSELECT · WHERE · GROUP BYNumeric champion id (compare with champion('Name')).
champion_namevarcharmatch dataSELECT · WHERE · GROUP BYChampion Data-Dragon key name.
team_positionvarcharmatch dataSELECT · WHERE · GROUP BYRiot-assigned team position (TOP, JUNGLE, …).
individual_positionvarcharmatch dataSELECT · WHERE · GROUP BYRiot-computed most-likely position.
lanevarcharmatch dataSELECT · WHERE · GROUP BYReported lane.
rolevarcharmatch dataSELECT · WHERE · GROUP BYReported role.
winbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant won.
surrenderedbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant's team surrendered.
early_surrenderedbooleanmatch dataSELECT · WHERE · GROUP BYWhether the team surrendered early (remake window).
game_ended_in_surrenderbooleanmatch dataSELECT · WHERE · GROUP BYWhether the game ended in any surrender.
game_ended_in_early_surrenderbooleanmatch dataSELECT · WHERE · GROUP BYWhether the game ended in an early surrender.
team_early_surrenderedbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant's team early-surrendered.
killsintegermatch dataSELECT · WHERE · GROUP BYChampion kills.
deathsintegermatch dataSELECT · WHERE · GROUP BYDeaths.
assistsintegermatch dataSELECT · WHERE · GROUP BYAssists.
kdadoublematch dataSELECT · WHERE · GROUP BYKDA for this game: (kills + assists) / max(deaths, 1).
creep_scoreintegermatch dataSELECT · WHERE · GROUP BYTotal creep score (lane + neutral minions).
total_minions_killedintegermatch dataSELECT · WHERE · GROUP BYLane minions killed.
neutral_minions_killedintegermatch dataSELECT · WHERE · GROUP BYNeutral (jungle) minions killed.
gold_earnedintegermatch dataSELECT · WHERE · GROUP BYGold earned.
gold_spentintegermatch dataSELECT · WHERE · GROUP BYGold spent.
total_damage_dealtintegermatch dataSELECT · WHERE · GROUP BYTotal damage dealt.
total_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYDamage dealt to champions.
magic_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYMagic damage dealt to champions.
physical_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYPhysical damage dealt to champions.
true_damage_dealt_to_championsintegermatch dataSELECT · WHERE · GROUP BYTrue damage dealt to champions.
total_damage_takenintegermatch dataSELECT · WHERE · GROUP BYDamage taken.
damage_self_mitigatedintegermatch dataSELECT · WHERE · GROUP BYDamage self-mitigated.
damage_dealt_to_objectivesintegermatch dataSELECT · WHERE · GROUP BYDamage dealt to objectives.
damage_dealt_to_turretsintegermatch dataSELECT · WHERE · GROUP BYDamage dealt to turrets.
total_healintegermatch dataSELECT · WHERE · GROUP BYTotal healing done.
total_heals_on_teammatesintegermatch dataSELECT · WHERE · GROUP BYHealing done to teammates.
vision_scoreintegermatch dataSELECT · WHERE · GROUP BYVision score.
wards_placedintegermatch dataSELECT · WHERE · GROUP BYWards placed.
wards_killedintegermatch dataSELECT · WHERE · GROUP BYWards killed.
vision_wards_bought_in_gameintegermatch dataSELECT · WHERE · GROUP BYControl wards bought.
detector_wards_placedintegermatch dataSELECT · WHERE · GROUP BYControl wards placed.
all_in_pingsintegermatch dataSELECT · WHERE · GROUP BYAll-in pings sent.
assist_me_pingsintegermatch dataSELECT · WHERE · GROUP BYAssist-me pings sent.
basic_pingsintegermatch dataSELECT · WHERE · GROUP BYBasic pings sent.
command_pingsintegermatch dataSELECT · WHERE · GROUP BYCommand pings sent.
danger_pingsintegermatch dataSELECT · WHERE · GROUP BYDanger pings sent.
enemy_missing_pingsintegermatch dataSELECT · WHERE · GROUP BYEnemy-missing pings sent.
enemy_vision_pingsintegermatch dataSELECT · WHERE · GROUP BYEnemy-vision pings sent.
get_back_pingsintegermatch dataSELECT · WHERE · GROUP BYGet-back pings sent.
hold_pingsintegermatch dataSELECT · WHERE · GROUP BYHold pings sent.
need_vision_pingsintegermatch dataSELECT · WHERE · GROUP BYNeed-vision pings sent.
on_my_way_pingsintegermatch dataSELECT · WHERE · GROUP BYOn-my-way pings sent.
push_pingsintegermatch dataSELECT · WHERE · GROUP BYPush pings sent.
vision_cleared_pingsintegermatch dataSELECT · WHERE · GROUP BYVision-cleared pings sent.
double_killsintegermatch dataSELECT · WHERE · GROUP BYDouble kills.
triple_killsintegermatch dataSELECT · WHERE · GROUP BYTriple kills.
quadra_killsintegermatch dataSELECT · WHERE · GROUP BYQuadra kills.
penta_killsintegermatch dataSELECT · WHERE · GROUP BYPenta kills.
largest_multi_killintegermatch dataSELECT · WHERE · GROUP BYLargest multikill.
killing_spreesintegermatch dataSELECT · WHERE · GROUP BYKilling sprees.
first_blood_killbooleanmatch dataSELECT · WHERE · GROUP BYWhether this participant took first blood.
champ_levelintegermatch dataSELECT · WHERE · GROUP BYFinal champion level.
champ_experienceintegermatch dataSELECT · WHERE · GROUP BYFinal champion experience.
time_playedintegermatch dataSELECT · WHERE · GROUP BYSeconds played.
total_time_spent_deadintegermatch dataSELECT · WHERE · GROUP BYSeconds spent dead.
longest_time_spent_livingintegermatch dataSELECT · WHERE · GROUP BYLongest time alive, in seconds.
time_ccing_othersintegermatch dataSELECT · WHERE · GROUP BYSeconds spent crowd-controlling others.
turret_killsintegermatch dataSELECT · WHERE · GROUP BYTurrets destroyed.
inhibitor_killsintegermatch dataSELECT · WHERE · GROUP BYInhibitors destroyed.
baron_killsintegermatch dataSELECT · WHERE · GROUP BYBarons killed.
dragon_killsintegermatch dataSELECT · WHERE · GROUP BYDragons killed.
placementintegermatch dataSELECT · WHERE · GROUP BYArena placement (NULL outside Arena).
subteam_placementintegermatch dataSELECT · WHERE · GROUP BYArena subteam placement (NULL outside Arena).
player_subteam_idintegermatch dataSELECT · WHERE · GROUP BYArena subteam id (NULL outside Arena).
item0integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 1 when the game ended (0 is empty); the items column names the whole build.
item1integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 2 when the game ended (0 is empty).
item2integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 3 when the game ended (0 is empty).
item3integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 4 when the game ended (0 is empty).
item4integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 5 when the game ended (0 is empty).
item5integermatch dataSELECT · WHERE · GROUP BYItem id in inventory slot 6 when the game ended (0 is empty).
item6integermatch dataSELECT · WHERE · GROUP BYTrinket item id when the game ended (0 is empty).
summoner1_idintegermatch dataSELECT · WHERE · GROUP BYFirst summoner spell id (the summoner1 column names it).
summoner2_idintegermatch dataSELECT · WHERE · GROUP BYSecond summoner spell id (the summoner2 column names it).
perk_primary_styleintegermatch dataSELECT · WHERE · GROUP BYPrimary rune tree id (the primary_tree column names it). NULL without runes (Arena).
perk_sub_styleintegermatch dataSELECT · WHERE · GROUP BYSecondary rune tree id (the secondary_tree column names it).
perk0integermatch dataSELECT · WHERE · GROUP BYKeystone rune id (the keystone column names it).
perk1integermatch dataSELECT · WHERE · GROUP BYSecond primary-tree rune id.
perk2integermatch dataSELECT · WHERE · GROUP BYThird primary-tree rune id.
perk3integermatch dataSELECT · WHERE · GROUP BYFourth primary-tree rune id.
perk4integermatch dataSELECT · WHERE · GROUP BYFirst secondary-tree rune id.
perk5integermatch dataSELECT · WHERE · GROUP BYSecond secondary-tree rune id.
stat_perk_offenseintegermatch dataSELECT · WHERE · GROUP BYOffense stat shard id.
stat_perk_flexintegermatch dataSELECT · WHERE · GROUP BYFlex stat shard id.
stat_perk_defenseintegermatch dataSELECT · WHERE · GROUP BYDefense stat shard id.
playervarcharderivedSELECT · WHERE · GROUP BYTracked player (alias in guild scope, Riot ID globally). Filter with player('…').
championvarcharderivedSELECT · WHERE · GROUP BYChampion display dimension (champion_name).
patchvarcharderivedSELECT · WHERE · GROUP BYGame patch (major.minor of game_version).
outcomevarcharderivedSELECT · WHERE · GROUP BY'Win' or 'Loss' (from win).
surrender_statevarcharderivedSELECT · WHERE · GROUP BY'Early surrender', 'Surrender', or 'Played out'.
arena_placementvarcharderivedSELECT · WHERE · GROUP BYArena placement label ('Not Arena' outside Arena).
mapintegerderivedSELECT · WHERE · GROUP BYMap dimension (map_id).
keystonevarcharderivedSELECT · WHERE · GROUP BYKeystone rune name (from perk0).
primary_treevarcharderivedSELECT · WHERE · GROUP BYPrimary rune tree name (Precision, Domination, …).
secondary_treevarcharderivedSELECT · WHERE · GROUP BYSecondary rune tree name.
summoner1varcharderivedSELECT · WHERE · GROUP BYFirst summoner spell name.
summoner2varcharderivedSELECT · WHERE · GROUP BYSecond summoner spell name.
spellsvarcharderivedSELECT · WHERE · GROUP BYBoth summoner spells in name order, e.g. 'Flash + Ignite' — the same pair whichever key it sat on.
itemsvarcharderivedSELECT · WHERE · GROUP BYThe final six-slot build as item names in name order (no trinket). Final inventory, not build order.
team_champion_killsintegerderivedSELECT · WHEREChampion kills by this participant's whole team in the game (from the team row).
kill_participationdoublederivedSELECT · WHEREShare of the team's kills this participant took part in: (kills + assists) / team champion kills. NULL when the team had no kills.
competition_idintegerderivedWHERECompetition 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.

ColumnTypeOriginValid inMeaning
playervarcharderivedSELECT · WHERE · GROUP BYTracked player this snapshot row belongs to.
scoredoublematch dataSELECT · WHERERank score (higher is better).
rankintegermatch dataSELECT · WHEREPosition within the snapshot (1 = best).
competition_idintegerderivedWHERECompetition to report on — required as a top-level `competition_id = <n>` condition.

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 on player_groups, where the dimension is a set of tracked players who queued together.
  • No GROUP BY at all — one grand-total row, which is what a KPI card shows.

Scout is an independent League of Legends companion.

Scout isn’t endorsed by Riot Games and doesn’t reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games and all associated properties are trademarks or registered trademarks of Riot Games, Inc.