Dag iedereen,
ik heb een vraag ivm een query in MySQL.
Ik heb de volgende tabel :
id | naam | wedstrijd1 | wedstrijd 2 | wedstrijd 3
1 | TEST | 10 | 25 | 12
Ik doe een query op ID 1 maar ik wil de kolommen sorteren van grootste value naar kleinste value, eigenlijk het volgende resultaat bekomen:
id | naam | wedstrijd2 | wedstrijd 3 | wedstrijd 1
1 | TEST | 25 | 12 | 10
Gaat dit in 1 query of ben ik verplicht meerdere query's en tijdelijke tabellen te gebruiken?
Met gewoon sort by werkt het natuurlijk niet omdat die enkel in die kolom gaat sorteren en de kolom niet van plaats gaat veranderen binnen de query.
Query MYSQL kolommen sorteren / herorderen
-
- Elite Poster
- Berichten: 1398
- Lid geworden op: 22 mei 2003, 18:23
- Locatie: Gent
- Uitgedeelde bedankjes: 35 keer
- Bedankt: 56 keer
Waarom wil je dat?
Nu heb je maar 1 record in die tabel.
Wat als je 100-den records in die tabel hebt, veel kans dat je meerdere keren dezelfde waarde als grootste hebt.
Ben wel thuis in query’s, vooral op Oracle, maar dit is de eerste keer dat ik zo een case zie.
Nu heb je maar 1 record in die tabel.
Wat als je 100-den records in die tabel hebt, veel kans dat je meerdere keren dezelfde waarde als grootste hebt.
Ben wel thuis in query’s, vooral op Oracle, maar dit is de eerste keer dat ik zo een case zie.
-
- Pro Member
- Berichten: 316
- Lid geworden op: 09 feb 2011, 19:16
- Locatie: Sint-Truiden
- Uitgedeelde bedankjes: 12 keer
- Bedankt: 21 keer
Er staan meerdere records (+3000) maar het zijn eigenlijk 12 wedstrijdnummers met waarde er in. (integer)
De eerste 5 behaalde punten moet ik bij elkaar tellen en dan sorteren van groot naar klein, de rest telt niet mee van punten.
Dacht het in 1 beweging te kunnen doen met een query maar denk dat ik beter alles in array kan stoppen en dan sort() kan doen.
De eerste 5 behaalde punten moet ik bij elkaar tellen en dan sorteren van groot naar klein, de rest telt niet mee van punten.
Dacht het in 1 beweging te kunnen doen met een query maar denk dat ik beter alles in array kan stoppen en dan sort() kan doen.
-
- Pro Member
- Berichten: 316
- Lid geworden op: 09 feb 2011, 19:16
- Locatie: Sint-Truiden
- Uitgedeelde bedankjes: 12 keer
- Bedankt: 21 keer
Ik heb het ondertussen opgelost om eerst het resultaat van de query in een array te droppen en dan zelf een sortering op de array te doen.
Merci voor jullie hulp
Merci voor jullie hulp
-
- Elite Poster
- Berichten: 3687
- Lid geworden op: 29 okt 2007, 09:29
- Twitter: cloink
- Uitgedeelde bedankjes: 85 keer
- Bedankt: 128 keer
Dat gaat uiteraard werken, maar is wel allerminst efficient. Echt eens Googlen naar data normalisatie en database design, want dit lijkt er inderdaad niet echt op... 

ooh. shiny.
-
- Elite Poster
- Berichten: 4123
- Lid geworden op: 17 apr 2019, 09:47
- Uitgedeelde bedankjes: 103 keer
- Bedankt: 140 keer
Je kan dit oplossen door je tabel te pivoteren... https://stackoverflow.com/questions/139 ... ivot-table
Maar beter zou zijn je database te normaliseren.
Maar beter zou zijn je database te normaliseren.