SQL order by

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koen Bokern

Koen Bokern

06/08/2009 12:27:00
Quote Anchor link
Hallo iedereen.

Ik heb een tabel met categorien. Elke categorie heeft een ID dat autoincrement is, en primary. Op dit moment sorteer ik het op het ID (ORDER BY id). Dus je krijgt dan gewoon een volgorde als (ID) 1,2,3,4,5. Echter wil ik dat men deze volgorde handmatig kan aanpassen. Dat je bij een formulier bijvoorbeeld invult (1,4,5,2,3).

Nu dacht ik zelf eraan om een nieuwe kolom te maken, en daarin een volgorde opsla. Echter als ik de volgorde wil aanpassen via het formulier, moet ik dan denk ik per categorie minimaal een query doen. Maar graag wil ik het aantal nodige query's beperken.

Zelf dacht ik aan iets als "'ORDER BY id (1,4,5,2,3)'", maar uitaard werkt dit niet.
Is er hiervoor een goede oplossing?
 
PHP hulp

PHP hulp

01/05/2024 16:14:21
 
Sjoerd

Sjoerd

06/08/2009 16:54:00
Quote Anchor link
kolom 'ranking' aanmaken, die bij het aanmaken de waarde van zijn ID meegeven, zodat ie aan het begin de laagste waarde heeft.

en dan ORDER BY ranking :)
 
Whatever Whatever

Whatever Whatever

06/08/2009 17:47:00
Quote Anchor link
Volgens mij heb je de ORDER BY FIELD functie nodig:

http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html

A common question on the mailing lists is how to sort results in a particular order. Just use the FIELD function:

SELECT * FROM tickets
ORDER BY FIELD(priority, 'High', 'Normal', 'Low', 'The Abyss');


Volgens mij dan:

ORDER BY FIELD(id, '1', '4', '5', '2', '3')
 
Koen Bokern

Koen Bokern

06/08/2009 23:38:00
Quote Anchor link
Super bedankt! De oplossing van Jacsoft was precies wat ik zocht :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.