Esta consulta será devolver status_id únicos, pero solo si la combinación de esos status_id y cada uno de esos otros campos también es único. Puede seleccionar los status_id únicos, pero no puede devolver todos los valores de los otros campos si hay más de una combinación para cada status_id.
[editar]
Si desea solo el primer registro para cada estado:
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
En lugar de row_number
, dense_rank
y rank
también se utilizan para diferentes tipos de numeración, pero en este caso realmente desea una sola fila, y número_fila será suficiente.
No estoy seguro order by
es obligatorio. Si no, puedes dejarlo fuera. Si es así, puede especificar un valor ficticio o especificar un campo específico que desee utilizar como 'la primera fila'. Por ejemplo, especifique order by schedule_id
para devolver el id_programación más bajo para cada id_estado.