Deze zoekopdracht zal unieke status_id's retourneren, maar alleen als de combinatie van die status_id en elk van die andere velden ook uniek is. U kunt de unieke status_id's selecteren, maar u kunt niet alle waarden van de andere velden retourneren als er meer dan één combinatie is voor elke status_id.
[bewerken]
Als u alleen het eerste record voor elke status wilt:
select
status_id, schedule_id, cassay_id, time_of_day, days, notify_to_addresses, active
from
(select
row_number() over (partition by status_id order by 1) as number,
status_id, schedule_id, cassay_id, time_of_day, days, notify_to_addresses, active
FROM ordertest)
where
number = 1
In plaats van row_number
, dense_rank
en rank
worden ook gebruikt voor verschillende soorten nummering, maar in dit geval wil je echt een enkele rij en rijnummer is voldoende.
Niet zeker order by
is verplicht. Zo niet, dan kun je het weglaten. Als dit het geval is, kunt u een dummy-waarde opgeven of een specifiek veld opgeven dat u als 'de eerste rij' wilt gebruiken. Versnel bijvoorbeeld order by schedule_id
om de laagste schedule_id voor elke status_id te retourneren.