[MySQL] natural sort

Pagina: 1
Acties:

  • Juup
  • Registratie: Februari 2000
  • Niet online
Is het mogelijk om MySQL een ander sort algoritme te laten gebruiken bij 'order by'? Ik wil een natural sort die gemengd alphabetisch + numeriek op een natuurlijke wijze sorteert.

Voorbeeld:
Memory 8MB
Memory 16MB
Memory 32 MB

Bij een alphabetische sort komt die 8MB onderaan te staan.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

Dit is sort on string, de 8 komt later voor dan de 1 in de ascii tabel. Ik denk dat je die getallen er uit moet halen, en deze met elkaar vergelijken.

Ik ken verder geen andere manier?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Als toch overal Memory x MB staat, kun je toch beter alleen de x opslaan en met 1 of andere gui achtig iets er Memory voor en MB achter zetten?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 23-08 10:29
Op donderdag 21 februari 2002 12:40 schreef Janoz het volgende:
Als toch overal Memory x MB staat, kun je toch beter alleen de x opslaan en met 1 of andere gui achtig iets er Memory voor en MB achter zetten?
Vindt ik ook... en dan sorteren... toch?

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

geen gui-achtig iets voor nodig hoor!
code:
1
2
3
SELECT CONCAT('Memory ', geheugen, 'MB')
FROM computertje
WHERE Id = -1

Maar een naturalsort functie, zoals dat in PHP bestaat, bestaat volgens mij niet in MySQL

Localhost, sweet localhost