Olkoon taulussa seuraavat rivit:
Merkki Malli Km
------------------------
Opel Astra 100000
Opel Vectra 50000
Ford Mondeo 40000
Mazda 323 47000
Mazda 626 34500
Teen tuolle kyseylyn
select merkki, sum(km) as km from taulu
group by merkki
Saan tuloksena:
Merkki km
------------------
Opel 150000
Ford 40000
Mazda 81500
Pystynkö Oraclella saamaan nuo luvut prosenteiksi yhdellä kyselyllä? Siis niin ettei minun tarvitse erikseen ottaa summakyselyä ja jakaa rivejä yksitellen?
Kaikkien rivien summahan on 271500.
Tuloksena pitäisi siis tulla:
Merkki Prosentti
--------------------
Opel 55,3
Ford 14,7
Mazda 30,0
Huono esimerkki mutta saa varmaan idean, mitä haen.
Merkki Malli Km
------------------------
Opel Astra 100000
Opel Vectra 50000
Ford Mondeo 40000
Mazda 323 47000
Mazda 626 34500
Teen tuolle kyseylyn
select merkki, sum(km) as km from taulu
group by merkki
Saan tuloksena:
Merkki km
------------------
Opel 150000
Ford 40000
Mazda 81500
Pystynkö Oraclella saamaan nuo luvut prosenteiksi yhdellä kyselyllä? Siis niin ettei minun tarvitse erikseen ottaa summakyselyä ja jakaa rivejä yksitellen?
Kaikkien rivien summahan on 271500.
Tuloksena pitäisi siis tulla:
Merkki Prosentti
--------------------
Opel 55,3
Ford 14,7
Mazda 30,0
Huono esimerkki mutta saa varmaan idean, mitä haen.
Vastaukset 1
Vanhimmat
select merkki, (sum(km)/(SELECT sum(km) FROM taulu)) * 100 as km from taulu
group by merkki