sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres:få min och max rader räknas i många till många relationstabeller

Jämför leverantörens belopp med min och max från en fönsterfunktion och kör en villkorlig räkning på yttre frågenivå:

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-fiol.




  1. Välja Max- och Min-posterna i ett MySQL-kommando

  2. ORA-12154:TNS:kunde inte lösa den angivna anslutningsidentifieraren

  3. Använd MySQL relationsdatabaser på Ubuntu 9.04 (Jaunty)

  4. MySQL DB väljer poster med och utan omljud. t.ex:'.. där något =FÖÖ'