Lets start with an Omaha high lo 3-6 handed example where Hero in on button, with A2 AND 4 cards lower than 6 AND no pair, facing a loose aggressive big blind, that 3-bets a steal between 20 and 40 percent of the time.
So we need to filter for hero position: (Button), 3-6 players dealt in, when hero had specific hole card ranges
Filter for opponents that were
a) in the big blind, in a 3-6 handed game
b) match the 3 bet vs steal freq from their big blind at a 20-40% frequency
Return the aggregate of bb/100 and total hands played in a Players Report for HERO
Here is the code for the holecards:
- Code: Select all
exists (
select 1
from cash_hand_player_statistics as hero
join lookup_hole_cards as lhc on lhc.id_holecard = hero.id_holecard
where hero.id_hand = cash_hand_player_statistics.id_hand
and hero.flg_hero and lhc.hole_cards ~ '([A234]|[A235]|[A236]|[A245]|[A246]|[A256])'
)
Here is some potential code for BB 3 bet frequency:
- Code: Select all
cash_hand_player_statistics.id_hand in (select chps.id_hand from cash_hand_player_statistics chps where
chps.id_player in (select cc.id_player from cash_custom_cache cc join cash_limit cl on cl.id_limit=cc.id_limit
where cc.cnt_players between 3 and 6 and cc.id_gametype=3 and cl.flg_lo=TRUE
group by cc.id_player having sum(cc.cnt_hands_cached)>10
and (sum(cc.cnt_steal_bb_def_action_3bet) / (sum(cc.cnt_steal_bb_def_opp))between .20 and.40)))
Every attempt ive made at isolating opponents that fit this frequency ends up returning ANY opponent that fits the 20-40% 3 bet frequency that was dealt in, regardless if they're actually in the big blind or not.
So specifying exact opponent and hero positions is giving me difficulties (Adding simple expressions is not a solution as it will run forever).