sql >> Database >  >> RDS >> Oracle

Bestel rijen met kolommen van minder null tot geen null

Dit is best pijnlijk. In principe gebruikt één methode een gigantische toevoeging van case uitdrukkingen, zoals:

order by 
    (case when cod_t1 is null then 1 else 0 end)
    + (case when cod_t2 is null then 1 else 0 end)
    + (case when cod_t3 is null then 1 else 0 end)
    + ...

Het zou veel eenvoudiger zijn om uw gegevensmodel te repareren om de codes op te slaan als rijen in plaats van kolommen. Dan zou je aggregatie kunnen gebruiken:

select id, quarter
from mytable
group by id, quarter
order by count(cod) desc


  1. Een gebruiker in Superuser veranderen in PostgreSQL

  2. Orbeon Forms Postgres DB-verbinding

  3. MySQL-syntaxis voor het invoegen van een nieuwe rij in de middelste rijen?

  4. MySQL - Selecteer de laatst ingevoegde rij op de gemakkelijkste manier