Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sắp xếp các hàng bằng cách sử dụng các cột từ số lượng ít hơn giá trị null đến không có giá trị nào

Điều này là khá đau đớn. Về cơ bản, một phương pháp sử dụng một bổ sung khổng lồ của case biểu thức, như:

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

Sẽ đơn giản hơn nhiều nếu sửa mô hình dữ liệu của bạn để lưu trữ mã dưới dạng hàng chứ không phải là cột. Sau đó, bạn có thể sử dụng tổng hợp:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn Oracle nếu hàng không tồn tại

  2. Phương ngữ ngủ đông cho Cơ sở dữ liệu Oracle 11g?

  3. SQL Developer để nhập từ Excel

  4. Máy khách tức thì Oracle:ORA-28759:không mở được tệp

  5. ORA-28113:vị từ chính sách có lỗi