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

SQL - Cách chọn hàng có cột có giá trị lớn nhất (+ nhóm theo)

Có vẻ như bạn muốn chọn hàng có high_val cao nhất cho mỗi danh mục. Nếu vậy, bạn có thể sử dụng row_number() để xếp hạng từng hàng trong một danh mục theo high_val của nó và chỉ chọn các hàng được xếp hạng cao nhất, tức là rn = 1 :

select * from (
    select row_number() over (partition by category order by high_val desc, date asc) rn, *
    from mytable
    where something = 'avalue'
) t1 where rn = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tạo từ đồng nghĩa hoặc-01031 không đủ đặc quyền

  2. ORA-04091:bảng đang thay đổi, trình kích hoạt / chức năng có thể không thấy nó bị lỗi trong quá trình thực thi trình kích hoạt oracle

  3. Chênh lệch hiệu suất truy vấn pl / sql forall chèn và chèn SQL thuần túy

  4. Di chuyển Java 11 - createConnectionBuilder () từ PoolDataSourceImpl xung đột với createConnectionBuilder () từ javax.sql.DataSource

  5. dbms_output.put không in dữ liệu