SET @rank = 1, @cat = 0; SELECT w.id, w.wr, @rank := CASE WHEN @cat <> w.category THEN 1 ELSE @rank+1 END AS rank, @cat := w.category AS cat FROM (SELECT i.id, i.category...
Eli tarkoituksena on laskea asian ranking per kategoria. Tämä select toimii ihan hyvin. Seuraavaksi olisi tarkoitus pistää tuo tulosjoukko tauluun INSERT INTOlla seuraavaan tapaan
SET @rank = 1, @cat = 0; INSERT INTO win_rate (id, win_rate, rank, cat) SELECT w.id, w.wr, @rank := CASE WHEN @cat <> category THEN 1 ELSE @rank+1 END AS rank, @cat := category AS cat FROM (SELECT i.id, i.category...
Tämä tuottaa tuonne uuteen tauluun RANKin ja CATin arvoksi 0, eli vaikuttaisi siltä, että nuo muuttujat ei enää toimi.
Onkohan ongelmana siis tuo muuttujien näkyvyys vai onko jokin ajatus/tietämättömyysvirhe?
Onko kenties insertistä unohtunut VALUES?
Kyllä se noin pitäisi mennä, jos olen ymmärtänyt oikein.
Aihe on jo aika vanha, joten et voi enää vastata siihen.