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

Truy vấn SQL để chuyển đổi số lượng cột thành số lượng hàng

Các loại truy vấn này dễ thực hiện hơn với mục tiêu là GROUP BY, như sau:

Select 
case when profile.foo ~* '5.0.2195' then 'Win2k'
     when profile.foo ~* '5.1.2600' then 'WinXP' 
     when profile.foo ~* '5.2.3790' then 'W2k3'
     when (profile.foo ~* '6.0.6000'
        or profile.foo ~* '6.0.6001'
        or profile.foo ~* '6.0.6002') 
        then 'Vista'
     when (profile.foo ~* '6.1.7600'
        or profile.foo ~* '6.1.7601')
        then 'Win7'
     when profile.foo ~* '6.2.9200' then 'Win8'
     when (profile.foo ~* '6.3.9200'
        or profile.foo ~* '6.3.9600')
        then 'Win8.1' ELSE 'Other' END as type,
     count(*) as cnt
From profile
GROUP BY 1

Như đã nhận xét bên dưới, truy vấn này sẽ hoạt động đối với các trường hợp loại trừ lẫn nhau, tức là khi profile.foo chứa một giá trị đại diện cho một hệ điều hành trên mỗi hàng



  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 thế nào để thay đổi cổng nghe postgresql trong windows?

  2. Viết một hàm trong SQL để lặp qua một phạm vi ngày trong UDF

  3. PostgreSQL CHẨN ĐOÁN BẬT với các ĐẶT HÀNG KHÁC BỞI

  4. Truy vấn ActiveRecord chậm hơn nhiều so với SQL thông thường?

  5. Cách ánh xạ dấu thời gian postgresql với múi giờ trong thực thể JPA 2