Oprettet tor. d. 02. august 2012 kl. 21:47:08

okd
okd (4.740 point. Point ude: 0)

MySQL - ORDER BY (case??)

Hej,

Er der ikke en venlig sjæl der kan fortælle mig hvordan jeg kan sortere på store/små bogstaver, sådan at jeg altid får små først.

Jeg har en tabel med brugernavne, hvoraf nogen eksisterer både med små og store bogstaver. Når jeg sorterer efter navn, så kommer de altid i samme rækkefølge uanset om jeg vælger ASC eller DESC, som vist herunder. Nogen 'par' (der hvor de findes på begge måder) listes med små bogstaver først, og andre med store først, men altid på samme måde!

SELECT name
FROM users
ORDER BY name ASC;

giver:
------
aaa
BBB
bbb
ccc
CCC
DDD

SELECT name
FROM users
ORDER BY name DESC;

giver:
------
ddd
ccc
CCC
BBB
bbb
aaa


Hvordan løser jeg det? så resultatet altid bliver:
aaa
bbb
BBB
ccc
CCC
ddd

Skrevet tor. d. 02. august 2012 kl. 23:07:05| #1

Hvis du vil sortere case-sensitivt kan du bruge 'ORDER BY BINARY'.

Store bogstaver sorteres normalt før små, også med binary. Så hvis du vil have det modsatte, skal der vist en lidt mere kompliceret løsning til...

Skrevet fre. d. 03. august 2012 kl. 01:01:15| #2


Skrevet fre. d. 03. august 2012 kl. 08:19:41| #3

okd
okd (4.740 point)
tak!

ORDER BY name ASC, BINARY name DESC

gør lige det jeg søger :)

Skrevet fre. d. 03. august 2012 kl. 22:20:57| #4

arne_v
arne_v (1.050.303 point)
Det tvivler jeg meget paa!

:-)

Skrevet fre. d. 03. august 2012 kl. 22:32:03| #5

okd
okd (4.740 point)
Arne, Jeg har prøvet det af i dag, og det virker fint. Men du må meget gerne uddybe hvorfor du ikke mener det virker.

Skrevet fre. d. 03. august 2012 kl. 23:02:07| #6

arne_v
arne_v (1.050.303 point)
prov og koer:

CREATE TABLE s (
  v VARCHAR(10)
);

INSERT INTO s VALUES('EE');
INSERT INTO s VALUES('ee');
INSERT INTO s VALUES('Ee');
INSERT INTO s VALUES('eE');
INSERT INTO s VALUES('ED');
INSERT INTO s VALUES('DE');
INSERT INTO s VALUES('EF');
INSERT INTO s VALUES('FE');
INSERT INTO s VALUES('ÉÉ');
INSERT INTO s VALUES('Éé');
INSERT INTO s VALUES('éÉ');
INSERT INTO s VALUES('éé');
INSERT INTO s VALUES('EÉ');
INSERT INTO s VALUES('ÉE');
INSERT INTO s VALUES('Eé');
INSERT INTO s VALUES('éE');
INSERT INTO s VALUES('Ée');
INSERT INTO s VALUES('eÉ');
INSERT INTO s VALUES('eé');
INSERT INTO s VALUES('ée');

SELECT v FROM s ORDER BY v ASC, BINARY v DESC;

og se om du kan lide resultatet.

Skrevet fre. d. 03. august 2012 kl. 23:25:42| #7

okd
okd (4.740 point)
OK, jeg kan se hvad du mener. :-)

Men i mit tilfælde vil der ALDRIG forekomme specialtegn. Kun [a-z], [A-Z], [0-9]. Og her giver det præcis det resultat jeg ønsker.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Hurtig hjælp til "en til mange" relation

Oprettet den 13. juni 2013 kl. 17.58
jcl94 giver 30 point for svar | Giv et svar »

Hente data til variabel

Oprettet den 13. juni 2013 kl. 17.14
vovsegris giver 60 point for svar | Giv et svar »

Mysql til at styre indholdet via menuen med php.

Oprettet den 13. juni 2013 kl. 13.08
bing89 giver 60 point for svar | Giv et svar »







Computerworld

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

CIO

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

Comon

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

Channelworld

Teaser billede

Test: Microsoft Surface Pro er fremtidens bærbare

Surface Pro er både en oplagt kontorkriger og en fantastisk flad følgesvend. Men den kan hurtigt komme til at koste dig dyrt. Vi har testet maskinen, som forsøger at være både tablet-pc og bærbar...

White paper

Teaser billede

Sikre identiteter er god forretning

Aladdin eToken er en stærk autentificeringsløsning, der understøtter nuværende og fremtidige krav og giver et højt investeringsafkast (ROI).


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger