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

Sådan opretter du indlejret SELECT COUNT med alias i Postgres

Du vil oprette en separat række for hver karakter. En måde er at generere alle karaktererne og derefter aggregere efter dem. Her er én tilgang:

select chr(chars.c + ascii('A')) as c,
       sum(case when ascii(left(m.nome, 1)) = chars.c + ascii('A') then 1 else 0 end)
from generate_series(0, 25) as chars(c) cross join
     merchant m
group by c;

EDIT:

Alans forslag er en bedre forespørgsel:

select chr(chars.c + ascii('A')) as c,
       count(m.nome)
from generate_series(0, 25) as chars(c) left join
     merchant m
     on ascii(left(m.nome, 1)) = chars.c + ascii('A')
group by c;


  1. Hvordan dropper og genbefolkes mysql-databaser?

  2. Sådan administreres skrivebeskyttede DB-forbindelser på applikationsniveau

  3. SQL Server-sikkerhedsovervejelser

  4. Oprettelse af en taltabel i MySQL