Ga naar inhoud

Order by case - PostgreSQL


Aanbevolen berichten

Hey iedereen,

Ik zit wat vast met een opdracht voor school.

Dit is de opgave:

Geef een overzicht van alle spelers met een bondsnummer.

Sorteer als volgt:

- Eerst moeten alle spelers uit zoetermeer getoond worden, deze sorteer je op naam.

- Daarna de andere spelers, gesorteerd op bondsnr.

Tip: je kan CASE ook gebruiken in de ORDER BY component.

Ondertussen heb ik dit geschreven:

select *

from spelers

where bondsnr is not null

order by case

when plaats = 'Zoetermeer' then plaats --> Zou ik moeten sorteren volgens DESC

else bondsnr --> Zou ik moeten sorteren volgens ASC

end

Maar nu zou ik die eerste when volgens desc willen sorteren en bondsnr dan op asc. Weet er iemand hoe ik dat kan doen?

Link naar reactie
Delen op andere sites

ik geloof dat WHEN in SQL niet bestaat. Je moet dan meerdere WHERE clausules gebruiken.

Dus:

- spelers zonder bondsnummer niet laten weergeven.

1.

- eerst alle spelers uit zoetermeer en sorteren op naam

2.

- alle spelers weergeven en sorteren op bondsnr.

Dat wordt dan voor nummer 1.

SELECT * FROM spelers WHERE bondsnr IS NOT NULL AND plaats="Zoetermeer" ORDER BY naam DESC

Je moet het wel op deze volgorde gebruiken. ORDER BY komt altijd NA WHERE. etc.

en voor nummer 2:

SELECT * FROM spelers WHERE bondsnr IS NOT NULL ORDER BY bondsnr ASC

Als je nog een voorbeeld van de database hebt (desnoods een export van je huidige database in een SQL bestandje) . Dan kan ik de code exact voor je schrijven.

Maar hiermee zou je eigenlijk al voldoende moeten hebben. Het enige wat je moet veranderen zijn de kolomnamen (want die weet ik niet).

Groeten,

Leroy

Link naar reactie
Delen op andere sites

  • 2 maanden later...
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.