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

PostgreSQL - Chọn hàng có giá trị lớn nhất tổng hợp từ 2 cột

Điều này có thể đạt được bằng cách sử dụng distinct on() và một định nghĩa sắp xếp tùy chỉnh cho loại_lợi_cấp:

select distinct on (merchant_id) *
from offer
order by merchant_id, 
         discount desc, 
         case when benefit_type = 'ALL' then 1 else 2 end;

Điều này thích chiết khấu cao hơn. Nếu hai khoản chiết khấu giống nhau, thì một loại lợi ích là ALL được sử dụng như một yếu tố kết thúc.

Ví dụ trực tuyến: http://rextester.com/TFBP17217




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlAlchemy:Truy vấn trường json độ dài có một mảng

  2. Cách sử dụng PreparedStatement và tìm kiếm Không phân biệt chữ hoa chữ thường

  3. Tổng hợp không được phép trong mệnh đề WHERE trong lỗi postgreSQL

  4. Ngăn chặn các mục nhập liền kề / chồng chéo với EXCLUDE trong PostgreSQL

  5. Đếm tần số tự do của mảng hoặc đối tượng jsonb