sql >> Databáze >  >> RDS >> Oracle

Seřaďte řádky pomocí sloupců od menšího počtu null po žádné null

To je spíše bolestivé. V podstatě jedna metoda používá obrovské přidání case výrazy jako:

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

Bylo by mnohem jednodušší opravit datový model tak, aby se kódy ukládaly jako řádky spíše než sloupce. Potom můžete použít agregaci:

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


  1. Uzavření sady výsledků streamování (pomocí mysql jdbc) trvá dlouho

  2. Jak přidat primární klíč do existující tabulky na serveru SQL (příklady T-SQL)

  3. Zámek čtení Mysql VYBRAT PRO AKTUALIZACI

  4. MySQL nevybírá řádek s daným ID