sql >> Database >  >> RDS >> PostgreSQL

Postgres:haal min en max rijen op in veel-op-veel relatietabel

Vergelijk het bedrag van de leverancier met min en max van een vensterfunctie en voer een voorwaardelijke telling uit op buitenste queryniveau:

SELECT vendor_id
     , count(min_bid OR NULL) AS min_bid_count
     , count(max_bid OR NULL) AS max_bid_count
FROM  (
   SELECT vendor_id
        , amount = min(amount) OVER w AS min_bid
        , amount = max(amount) OVER w AS max_bid
   FROM   rfq_vendor_mapping
   WINDOW w AS (PARTITION BY rfq_id)
   ) sub
GROUP  BY 1
ORDER  BY 1;

SQL Fiddle.




  1. Fix Waar gebruiken; Tijdelijk gebruiken; Bestandssorteren gebruiken

  2. schuine streep voor elk citaatprobleem

  3. PostgreSQL-exportresultaat als CSV van externe server

  4. Hoe u het aantal dagen in een maand in MySQL kunt krijgen