sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL - Selecteer rij met samengestelde maximale waarde uit 2 kolommen

Dit kan worden bereikt met behulp van distinct on() en een aangepaste sorteerdefinitie voor het benefit_type:

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

Deze geeft de voorkeur aan een hogere korting. Als twee kortingen hetzelfde zijn, een benefit_type van ALL wordt gebruikt als de tie-breaker.

Online voorbeeld:http://rextester.com/TFBP17217




  1. MySQL-query - met SUM of COUNT

  2. Toegang geweigerd bij het invoegen van een bestand in Sql Server 2012 FileTable met behulp van File.CreateFile op de ASP.NET-website

  3. MariaDB JSON_REMOVE() uitgelegd

  4. Npgsql met Pgbouncer op Kubernetes - pooling &keepalives