jag har en tabell
s_matcher
lagid_a
lagid_b
resultat_a
resultat_b
Går det på något sätt att få ut det vanligaste reultatet för varje lag?
Går det att få fram största vinst och största förlust?
Databaser & SQLur Databashanterare & SQL
5 svar · 196 visningar · startad av andreas_lindh
jag har en tabell
s_matcher
lagid_a
lagid_b
resultat_a
resultat_b
Går det på något sätt att få ut det vanligaste reultatet för varje lag?
Går det att få fram största vinst och största förlust?
select lagid_a,resultat_a,resultat_b
from (select lagid_a,resultat_a,resultat_b
from s_matcher
union all
select lagid_b,resultat_b,resultat_a
from s_matcher )dt_1
group by lagid_a,resultat_a,resultat_b
having count(*) =
(select max(r)
from (select count(*) as r ,lagid_a, resultat_a,resultat_b
from (select lagid_a,resultat_a,resultat_b
from s_matcher
union all
select lagid_b,resultat_b,resultat_a
from s_matcher ) dt_2
where dt_2.lagid_a = dt_1.lagid_a
group by lagid_a,resultat_a,resultat_b) dt_3
where dt_1.lagid_a = dt_3.lagid_a
select max(resultat_a-resultat_b) maxWin, max(resultat_a - resultat_b) as maxLoss, lagid_a
from (
select lagid_a,resultat_a,resultat_b
from s_matcher
union all
select lagid_b,resultat_b,resultat_a
from s_matcher )dt_1
group by lagid_a
Jag missade att skriva att jag använder Mysql.
Jag testade den första frågan i Access men får den inte att fungera.
Felmeddelandet
),] eller item saknas i frågeuttrycket 'count(*) = (select max(r)
Den andra frågan fungerar bra
Den första frågan är det ingen ide att försöka med i Mysql. Du får dela upp det i flera steg och använda temptabeller.
Nä fy faen vilken SQL-kod! Hur tusan kan man vara som LarsG? *muttrar nåt om genier* ;)
/r Whoops - skrev i fel tråd, men muttrar i alla fall något om genier.