ORDER BY op twee velden aflopen en oplopend sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Ariën  -
Beheerder

- Ariën -

19/02/2020 21:01:16
Quote Anchor link
Ik heb deze query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT     
    id, title, author, concept, DATE_FORMAT(date_posted, '%e %b %Y om: %H:%i') AS dateformatted
FROM     
    articles WHERE deleted=0
ORDER BY
    concept, date_posted DESC

En deze sorteert eerst op concept-berichten, en daarna op de date_posted en dan aflopend.
Echter staan dan de conceptberichten met een 1 onderaan in de sortering. Kan ik die ook weer bovenaan tonen?

Ik zou het wel kunnen realiseren door het omgedraaide te doen, en deze een 0 mee te geven als het een concept is. Maar dat vind ik ook weer niet erg logisch. Dus is dat eenvoudig te bewerkstellingen wat ik wil?

Edit: Hmmmmm. Je kan dus toch wel per veld ASC of DESC doen. :-)
Solved anyway :-P
Gewijzigd op 19/02/2020 21:02:59 door - Ariën -
 
PHP hulp

PHP hulp

18/04/2024 19:35:09
 
Ivo P

Ivo P

20/02/2020 09:57:53
Quote Anchor link
om het antwoord er ook bij te zetten, omdat je dit toch best wel eens langs ziet komen:

ORDER BY gaat standaard ASCending, oplopend.

"ORDER BY naam" gaat dus zodanig dat Alfred voor Bert komt te staan.

dus feitelijk wordt gelezen door SQL "ORDER BY naam ASC"

Sorteer je op 2 kolommen:

"ORDER BY naam, leeftijd" dan wordt dat "ORDER BY naam ASC, leeftijd ASC"

En zoals je dus uitgevonden hebt: de ASC of DESC geldt per sorteer-criterium.

Dus per kolom zul je ASC of DESC moeten noemen. En als je dat niet doet, wordt voor die kolom ASC aangenomen.

"ORDER BY naam, leeftijd DESC" is dus "ORDER BY naam ASC, leeftijd DESC"

En jij moest dus 2x DESC bij het sorteren zetten.
 
- Ariën  -
Beheerder

- Ariën -

20/02/2020 10:08:12
Quote Anchor link
Klopt, i know.
Maar ik wist niet dat je de sortering op twee velden kon instellen, dat had ik nooit eerder geprobeerd, en bij de eerste keer ging het door een PEBCAK probleem fout..

Het werkt prima zoals ik wil :-)
 



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.