Sortiranje po max točkah?
 
Spirit7. okt 2011 16:46:16Pridružen od:
7. okt 2011
22 objav
+18-240
#1Upam, da mi lahko kdo od mojstrov lahko pomaga... Imam en problemček s poizvedbo in sicer sestava tabele:id Ime Točke Datum
1 Janez 100 12.9.2011
2 Polde 150 12.9.2011
3 Polde 160 13.9.2011
4 Miha 150 13.9.2011
5 Lojze 130 14.9.2011
6 Polde 20 15.9.2011
7 Miha 100 16.9.2011


Trenutno uporabljam:
SELECT * FROM rezultati ORDER BY tocke DESC, datum DESC

Sicer OK, ampak je problem, da se uporabniki na lestvici ponavljajo s slabšimi rezultati, tako da bi rad združil uporabnike po imenu...
SELECT * FROM rezultati GROUP BY ime ORDER BY tocke DESC, datum DESC
...združi po imenu ampak mi ne razvrsti po točkah oziroma datumu - kako naj to rešim?

Če uporabim tole:
SELECT ime, max(tocke), datum FROM rezultati GROUP BY ime ORDER BY tocke DESC, datum DESC
...potem mi sicer razvrsti po točkah ampak mi poleg nekaterih točk napačen datum vpiše, verjetno od drugega rezultata...

Sigurno ima kdo izkušnje s tako poizvedbo in ima kakšno optimalno rešitev?
všeč(0)ni všeč(0)spam(0)
 
boskor7. okt 2011 18:00:08Pridružen od:
14. sep 2011
13 objav
+700
#2Če daš samo navaden GROUP BY potem združi po zadnjem datumu.

Tole bi moralo delati (rešitev s subquerijem):

SELECT * FROM (SELECT * FROM test ORDER BY tocke DESC) as r GROUP BY ime ORDER BY tocke DESC
všeč(+3)ni všeč(0)spam(0)
 
Tody7. okt 2011 19:43:32Pridružen od:
3. maj 2010
672 objav
+635-1398
#3Group by ti ne bo nič pomagal če boš imel različne podatke, group by pomaga samo pri tem če imaš vse podatke iste.

Vbistvu se moreš najprej vprašat kaj hočeš? Prikazat koliko je max točk kdo dobil in kdaj?

Potem vzemi zadnji query in v gorup by daj še datum pa bi ti moralo delat.
všeč(0)ni všeč(0)spam(0)
 
inkanet7. okt 2011 22:16:04Pridružen od:
3. okt 2008
241 objav
+7001
#4Tole deluje na (malo starejši =) Oracle bazi. Problem bi nastal edino, če bi imel recimo Polde enake točke na dva različna datuma.

select * from rezultati
where (ime,tocke) in
(select ime,max(tocke)
from rezultati
group by ime);
všeč(0)ni všeč(0)spam(0)
 
Spirit10. okt 2011 13:20:44Pridružen od:
7. okt 2011
22 objav
+18-240
#5Meni je izgleda boskor rešitev pomagala in izgleda, da deluje kot mora. Hvala!

inkanet; podobno rešitev sem spacal sam, ampak je bil problem pri enakih točkah, zato sem potreboval drugo rešitev.
všeč(0)ni všeč(0)spam(0)
 
stran 1 od 1 |<<1>>|