SQL - 如何替换我的总和得到一个数字

时间:2013-01-23 13:43:40

标签: sql

我有一个总结一些列的查询

SELECT P, sum (K)
FROM table
GROUP BY P

我希望如果总和大于1,我将得到1个结果。意思是代替:

P K
1 2
3 4
23 0

我会:

P K
1 1
3 1
23 0

2 个答案:

答案 0 :(得分:2)

使用CASE

SELECT P, 
       (CASE WHEN sum(K) > 0 THEN 1 ELSE 0 END) AS Result
FROM   tableName
GROUP  BY P

<强>更新

感谢Luv

答案 1 :(得分:0)

SELECT P, LEAST(1, sum (K))
FROM table
GROUP BY P

听起来有两个条件sum(K)&gt; 1那么你想要的是sum(K)&lt;的唯一选择。 1是0.所以这会给你。