PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách tạo SELECT COUNT lồng nhau với bí danh trong Postgres

Bạn muốn tạo một hàng riêng biệt cho mỗi ký tự. Một cách là tạo tất cả các ký tự và sau đó tổng hợp chúng lại. Đây là một cách tiếp cận:

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;

CHỈNH SỬA:

Đề xuất của Alan là một truy vấn tốt hơn:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn các hàng có giá trị cột là null?

  2. Kết nối Postgresql sử dụng VC ++

  3. Chức năng của Window:last_value (ORDER BY ... ASC) giống như last_value (ORDER BY ... DESC)

  4. HikariPool-1 - Không thể xác thực kết nối [được bảo vệ bằng email] (Kết nối này đã bị đóng.)

  5. Tiến trình nâng cấp trực tuyến