Speldator: Ryzen 7800X3D, 64GB DDR5, RTX 3070
Server: i7-8700k, 32GB DDR4, RTX2080
Steam deck + de fiesta konsoller.
Problem med "avancerad" sortering av data från mysql
Visa signatur
Tjenare,
jag har problem med att sortera data som jag vill från en tabell i MySQL, tabellen ser ur som följer:
"events" = http://pastebin.com/z03nGD8g där time = datetime()
Jag vill att datan ska sorteras efter:
1. Event som pågår nu, dvs (start < now() < end)
2. Event som är på g i STIGANDE ordning
3. Event som har passerat i STIGANDE ordning
Resultat: http://pastebin.com/n4SCp0ye
Jag har provat alla möjliga sorters querys och har nu även testat göra en egen sorteringsfunktion i php med hjälp av usort() utan framgång.
Värt att notera är att om "användaren" på hemsidan inte är tvingad att fylla i "end"-tid, då sätts end = start.
Hoppas det finns någon smart en som kan klura ut detta...
Tacksam för hjälp!
MVH Simon
orkar inte skriva din query här men detta är inte vidare Avancerat.
Enklaste lösningen utan att använda CASE THEN filters är att använda sig av 3 olika Select satser med Union med ett where filter & sortering.
Du kan läsa hur Union funkar här http://dev.mysql.com/doc/refman/5.0/en/union.html
Speldator: Ryzen 7800X3D, 64GB DDR5, RTX 3070
Server: i7-8700k, 32GB DDR4, RTX2080
Steam deck + de fiesta konsoller.
Tack för svaret, ska prova!
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.