PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQL заявка за транспониране на броя на колоните в броя на редовете

Този тип заявки се правят по-лесно с цел ГРУПИРАНЕ ПО, като това:

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

Както е коментирано по-долу, тази заявка ще работи за взаимно изключващи се случаи, т.е. когато profile.foo съдържа стойност, представляваща една ОС на ред



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL JOIN с тип масив с ред на елементите на масива, как да се приложи?

  2. грешка при хибернация:Няма първичен ключ за референтната таблица

  3. Как да намерите всички комбинации (подмножество) от произволен размер на масив в postgresql

  4. Оптимизирайте обхвата на заявки за времеви печати на Postgres

  5. PostgreSQL:Пуснете PostgreSQL база данни през командния ред