login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MySQL, hoofdletterongevoelige ORDER BY (Opgelost)

Offline Voldemort - 05/07/2007 11:42
Avatar van VoldemortPHP ver gevorderde Ik heb een tabel "leden" en ik heb een ledenlijst, als ik alle leden ophaal, dan zijn die bv. gesorteerd op gebruikersnaam oplopend. Alleen is het type van die gebruikersnaam "utf8-bin", hoofdlettergevoelig. Ik krijg dus dit bv terug:

Citaat:
Aapb
Ceerb
aape
ceera


Alleen wil ik nu alle leden hoofdletterongevoelig ophalen. Ik wil dus dit terug:

Citaat:
Aapb
aape
ceera
Ceerb


En alle gebruikersnamen ophalen, in een array stoppen en die sorteren kan traag zijn (als m'n site groeit => meer gebruikersnamen => meer ophalen in de query => trager).

De query:

  1. SELECT `id`, `gebruikersnaam`, [...]
  2. FROM `leden`
  3. ORDER BY `gebruikersnaam` ASC
  4. LIMIT 0,50


Zou eigenlijk iets als dit moeten worden:


  1. SELECT `id`, `gebruikersnaam`, [...]
  2. FROM `leden`
  3. HOOFDLETTERONGEVOELIGE ORDER BY `gebruikersnaam` ASC
  4. LIMIT 0,50


Hebben PHP of MySQL hier een functie of iets dergelijks voor of is een nieuwe tabel maken (met de gebruikersnamen in een hoofdletterongevoelig veld en die enkel voor de ledenlijst dient) de enige oplossing?

3 antwoorden

Gesponsorde links
Offline marten - 05/07/2007 11:45
Avatar van marten Beheerder door middel van ORDER BY BINARY
Offline Thomas - 05/07/2007 13:01
Avatar van Thomas Moderator Kun je niet sorteren op een lowercase alias?

  1. SELECT LCASE(gebruikersnaam) AS lower_user
  2. FROM leden
  3. ORDER BY lower_user
  4. LIMIT 0,50


Het kan zelfs zo?

  1. SELECT gebruikersnaam
  2. FROM leden
  3. ORDER BY LCASE(gebruikersnaam)
  4. LIMIT 0,50
Offline Voldemort - 05/07/2007 13:34 (laatste wijziging 05/07/2007 13:39)
Avatar van Voldemort PHP ver gevorderde @marten: Dat maakt geen verschil uit.

@FangorN: Dat is de functie die ik nodig had. Die tweede (ORDER BY LCASE(`gebruikersnaam`)) werkt prima. Bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s