Minulla on MySQL-taulu, jossa on sarakkeet nimi ja muutama sarake joissa on jokin numeroarvo välillä 0-100.
Nuo pitäisi sitten saada nettisivulle taulukkoon, jossa näkyy kullekin henkilölle noiden muutaman sarakkeen arvoista vain kaksi suurinta ja niiden summa.
Mutta miten se onnistuu? Löytyykö MySQL:n selectistä tuollaista, vai täytyykö kaikki arvot ottaa PHP-skriptiin, ja etsiä suurimmat sillä?
SELECT SarakeA, SarakeB FROM Taulu ORDER BY Max(SarakeA, SarakeB) DESC LIMIT 2
Loogisempaa tosin olisi jos olisi vain yksi sarake jos kerran arvot on keskenään vertailtavia.
Eikö tuo toimi nyt niin, että tuloksena on vain kaksi riviä?
Tietokannassa on siis sarake nimi ja viisi numerosaraketta. Näistä pitäisi saada nimi ja nimeä vastaavat kaksi korkeinta arvoa niistä viidestä sarakkeesta. Ja tulosrivejä pitäisi olla joka nimelle oma.
Auttakaa nyt tyhmää.
Jaa siis haluat kuitenkin kaikki rivit. Luulin tuon "täytyykö kaikki arvot ottaa PHP-skriptiin" perusteella ettet halunnut ladata kaikkia rivejä.
Tuolla tarpeella ja tietokantarakenteella järkevintä varmaan tehdä valikointi PHP:n puolella.
Aihe on jo aika vanha, joten et voi enää vastata siihen.