select period,
max(home_goals) - min(home_goals) -
case when min(home_goals) > 0 then 1 else 0 end,
max(away_goals) - case wmin(away_goals) -
case when min(away_goals) > 0 then 1 else 0 end
from t
group by period
Tackar. Men jag misstänker att det ska vara "+" istället för "-" innan case och att det ska vara "min" istället för "case wmin" , eller?
Har testat denna och den verkar så långt funka som den ska
select period,
max(home_goals) - min(home_goals) +
case when min(home_goals) > 0 then 1 else 0 end,
max(away_goals) - min(away_goals) +
case when min(away_goals) > 0 then 1 else 0 end
from t
group by period
Har nu hunnit testa lite mer, och den räknar lite fel...
Har denna SQL-fråga:
select period,
max(home_goals) - min(home_goals) +
case when min(home_goals) >0 then 1 else 0 end AS t1goal,
max(away_goals) - min(away_goals) +
case when min(away_goals) >0 then 1 else 0 end AS t2goal
from game_data where game_id=53
group by period
select period,
max(coalesce(home_goals,0)) -
(select max(coalesce(home_goals,0))
from game_data
where game_id = 53
and period < gd.period) as t1goal,
max(coalesce(away_goals,0)) -
(select max(coalesce(away_goals,0))
from game_data
where game_id = 53
and period < gd.period) as t2goal
from game_data gd
where game_id=53
group by period
nja. den blev inte rätt heller, men ledde mig till rätt svar (tror jag i alla fall).
Gjorde såhär:
select period,
(select count(*)
from game_data
where action_type='goal'
and game_id=53
and period=gd.period
and team_id=22) as t1goal,
(select count(*)
from game_data
where action_type='goal'
and game_id=53
and period=gd.period
and team_id=21) as t2goal
from game_data gd
where game_id=53
group by period
För jag vet ju vilka lag som spelar och vet också vilka poster som är "mål".
252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a