sql >> Database teknologi >  >> RDS >> Oracle

Bestil rækker ved hjælp af kolonner fra mindre antal null til ingen nuller

Dette er ret smertefuldt. Grundlæggende bruger én metode en gigantisk tilføjelse af case udtryk som:

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)
    + ...

Det ville være meget nemmere at rette din datamodel til at gemme koderne som rækker i stedet for kolonner. Derefter kan du bruge aggregering:

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


  1. Hvordan får man MySQL Connector/J til at fungere på Android?

  2. Risiko ved brug af dynamisk hukommelse i Hyper-V

  3. Sådan opretter du forespørgsel fra overordnet underordnet hierarkitabel

  4. Er der en måde at gemme Unicode-tekst i en Oracle-database konfigureret som 'US7ASCII'