Search Postgresql Archives

Re: Sum of columns

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/08/2013 07:12 PM, janek12@xxxxxx wrote:
Hi, 
 
this is my query:
SELECT user,
        sum(CASE WHEN lev >= 50 AND lev < 70 THEN 1 ELSE 0 END) as a,
        sum(CASE WHEN lev >= 70 AND lev < 80 THEN 1 ELSE 0 END) as b,
        sum(CASE WHEN lev >= 80 AND lev <= 90 THEN 1 ELSE 0 END) as c,
        sum(CASE WHEN lev > 90 THEN 1 ELSE 0 END) as d,
        (SELECT a + b + a + d) AS matches
        FROM t_temp_fts 
        GROUP BY user'
 
I like to add up the 4 columns a,b,c and d of every user, but it doesn't work like this.
Does anyone know a solution
 
Janek Sendrowski


How far does this get you?
insert into t_temp_fts values('rob', 51), ('rob', 71), ('rob', 81), ('rob', 91);
insert into t_temp_fts values('jon', 51), ('jon', 71), ('jon', 81), ('jon', 91);
SELECT distinct usern,
        (select count(*) from t_temp_fts i where o.usern = i.usern and  lev >= 50 AND lev < 70) as a,
        (select count(*) from t_temp_fts i where o.usern = i.usern and  lev >= 70 AND lev < 80)as b ,
        (select count(*) from t_temp_fts i where o.usern = i.usern and  lev >= 80 AND lev < 90)as c ,
        (select count(*) from t_temp_fts i where o.usern = i.usern and  lev > 90)              as d
from t_temp_fts o
;
  usern | a | b | c | d
-------+---+---+---+---
 jon   | 1 | 1 | 1 | 1
 rob   | 1 | 1 | 1 | 1
(2 rows)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux