[mysql] eventuellt klurig sortering

Permalänk
Medlem

[mysql] eventuellt klurig sortering

Har en liten fundering

Jag har tävlingsresultat, sedan är tävlingen i 2 moment, och man får en totalpoäng. Poängen för varje moment är samma som placering.

t.ex
Startande 321 kommer 1:a i moment 1, 4:a i moment 2, får totalt 5 poäng
Startande 456 kommer 2:a och 3:a, får också 5 poäng.
Startande 789 kommer 3:a och 2:a och får 5 poäng.

Tabellen som jag går emot har startnummer, poäng 1, poäng 2 och total

Tidigare har sortering (förutom totalpoäng) varit bästa placering i moment 2 kommer först. I detta fall startnummer 789, följt av 456 och sist 321
( order by totpoints desc, m2points desc)

Nu är önskemålet att bäst placering kommer först, har dom sedan samma bästa placering så ska moment 2 avgöra
Så nya resultatet blir 1:a 321, 2:a 789 och 3:a 456

Frågan är, kan jag ha det så bra att jag har löst det redan i mysql, eller blir jag tvungen att vända och vrida efter (känns som det), förvisso inga problem, men det är ju snyggare att ha löst det i frågan om det går.

Tackar på förhand.

Visa signatur

På tok för många datorer för att skriva här

Permalänk
Medlem
Skrivet av orig_rejser:

Har en liten fundering

Jag har tävlingsresultat, sedan är tävlingen i 2 moment, och man får en totalpoäng. Poängen för varje moment är samma som placering.

t.ex
Startande 321 kommer 1:a i moment 1, 4:a i moment 2, får totalt 5 poäng
Startande 456 kommer 2:a och 3:a, får också 5 poäng.
Startande 789 kommer 3:a och 2:a och får 5 poäng.

Tabellen som jag går emot har startnummer, poäng 1, poäng 2 och total

Tidigare har sortering (förutom totalpoäng) varit bästa placering i moment 2 kommer först. I detta fall startnummer 789, följt av 456 och sist 321
( order by totpoints desc, m2points desc)

Nu är önskemålet att bäst placering kommer först, har dom sedan samma bästa placering så ska moment 2 avgöra
Så nya resultatet blir 1:a 321, 2:a 789 och 3:a 456

Frågan är, kan jag ha det så bra att jag har löst det redan i mysql, eller blir jag tvungen att vända och vrida efter (känns som det), förvisso inga problem, men det är ju snyggare att ha löst det i frågan om det går.

Tackar på förhand.

order by m1, LEAST(m1, m2), m2

där mN = placering i moment N

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

PUSS i ljumsken för det svaret!
Vielen dank!

Visa signatur

På tok för många datorer för att skriva här