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

SQL - Trả về các hàng có hầu hết các kết quả phù hợp với cột

Bạn có thể sử dụng hàm rank () cho điều đó:

SQLFiddle

select name, color1, color2, color3, prize 
  from (
    select t.*, rank() over (order by decode(color1, 'Red', 1, 0) 
        + decode(color2, 'Blue', 1, 0) + decode(color3, 'Green', 1, 0) desc) rnk
      from t)
  where rnk = 1

Điều này trả về hàng hoặc các hàng có hầu hết các kết quả phù hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XML Oracle:Trích xuất nhiều nút con

  2. Tương tác của khóa SELECT FOR UPDATE với con trỏ và DML hàng loạt

  3. Lỗi Oracle sau có nghĩa là gì:chỉ mục cột không hợp lệ

  4. java.sql.SQLException:ORA-01438:

  5. Cách nhân các giá trị bằng SQL