sql >> Database teknologi >  >> RDS >> PostgreSQL

Gruppér efter og tilføj kolonner

Jeg har en tendens til at nærme mig denne type forespørgsel ved hjælp af betinget aggregering:

select ward,
       max(case when seqnum = 1 then councillor end) as councillor1,
       max(case when seqnum = 2 then councillor end) as councillor2,
       max(case when seqnum = 3 then councillor end) as councillor3
from (select wc.*,
             row_number() over (partition by ward order by councillor) as seqnum
      from ward_councillors wc
     ) wc
group by ward;


  1. Sådan får du input fra brugeren under kørsel

  2. Sådan implementeres en produktionsklar MySQL eller MariaDB Galera Cluster ved hjælp af ClusterControl

  3. MySQL:Unik begrænsning på flere felter

  4. MySql kan ikke lave kolonne auto_increment