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

postgresql - вземете броя по стойностни диапазони

select name, 
       count(case when value <= 5 then 1 end) as "0-5",
       count(case when value > 5 and value <= 10 then 1 end) as "5-10",
       count(case when value > 10 and value <= 15 then 1 end) as "10-15"
from the_table
group by name;

С предстоящата версия 9.4 това може да бъде написано малко по-разбираемо:

select name, 
       count(*) filter (where amount <= 5) as "0-5",
       count(*) filter (where value > 5 and value <= 10) as "5-10",
       count(*) filter (where value > 10 and value <= 15) as "10-15"
from the_table
group by name;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres CTE:тип символ, вариращ(255)[] в нерекурсивен термин, но тип символ, вариращ[] като цяло

  2. Играйте! рамка - Не може да се свърже с база данни

  3. Може ли Postgres Commit да съществува в процедура, която има блок за изключение?

  4. Алтернативи на PGTune - ClusterControl PostgreSQL конфигурация

  5. Запазване на голям data.frame в PostgreSQL с R