Questa query sarà restituire status_id univoci, ma solo se anche la combinazione di tali status_id e ciascuno di quegli altri campi è univoca. Puoi selezionare gli status_id univoci, ma non puoi restituire tutti i valori degli altri campi se c'è più di una combinazione per ogni status_id.
[modifica]
Se vuoi solo il primo record per ogni stato:
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
Invece di row_number
, dense_rank
e rank
sono usati anche per diversi tipi di numerazione, ma in questo caso vuoi davvero una singola riga e row_number sarà sufficiente.
Non sono sicuro order by
è obbligatorio. In caso contrario, puoi lasciarlo fuori. In tal caso, puoi specificare un valore fittizio o specificare un campo specifico che desideri utilizzare come "prima riga". Ad esempio, spedify order by schedule_id
per restituire il schedule_id più basso per ogni status_id.