0

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

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
4

2 回答 2

2

利用CASE

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

更新

谢卢夫

于 2013-01-23T13:45:22.630 回答
0
SELECT P, LEAST(1, sum (K))
FROM table
GROUP BY P

听起来有 2 个条件 sum(K) > 1 然后你想要, sum(K) < 1 的唯一选项是 0。所以这会给你。

于 2013-01-23T13:50:34.960 回答