sql >> Databáze >  >> RDS >> PostgreSQL

Jak vytvořit vnořený SELECT COUNT s aliasem v Postgresu

Chcete vytvořit samostatný řádek pro každý znak. Jedním ze způsobů je vygenerovat všechny znaky a poté je agregovat. Zde je jeden přístup:

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:

Alanův návrh je lepší dotaz:

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. Závažná chyba PHP:Volání nedefinované funkce mysqli_stmt_get_result()

  2. MySQL – spojování a počítání řádků z jiné tabulky

  3. Odstraňte postavu z dané pozice na Oracle

  4. PostgreSQL:Odeberte atribut ze sloupce JSON