如何在postgresql中的查询中写SUM(IF(boolean,integer,integer))col_name

时间:2014-01-27 07:35:23

标签: mysql postgresql

我是Postgresql的新手。我想写一个这样的查询:

SELECT SUM(IF(id in(1,2,3,4,5,6),1,0)) spl_count from tab group by id;

但它不起作用。它给出了错误:

function if(boolean, integer, integer) does not exist 

实际上我尝试过同样的查询,我的意思是mysql中的sum(if(boolean,integer,integer))。它在那里工作,但不在postgresql中。那么我将如何在postgresql中编写那种查询?

1 个答案:

答案 0 :(得分:3)

你试过案例吗?

SUM(CASE WHEN id IN (1, 2, 3, 4, 5, 6) THEN 1 ELSE 0 END)