有条不紊地查找行组,“具有相反的价值”

时间:2016-03-09 17:46:32

标签: sql filter conditional grouping

我正在寻找一种有条件的SELECT行方式,而不只有复合键A,B(参见图片)。

此外,我需要选择存在列C的负值和正值的行;跳过0。行数与AB组的任意组合最小值为2,其中C具有负行或正行。

enter image description here

已查询下面的数据。

注意:我能够添加另一列D,因为我们无法使用C的实际值:

D = CASE WHEN C < 0 THEN 1 ELSE 2 end

enter image description here

所以逻辑可能是SELECT * WHERE SUM(D) >= 3

我完全能够使用其他语言完成此任务,例如C#,但我 使用 SQL完成此任务。

我还想避免临时表。不需要列D

1 个答案:

答案 0 :(得分:1)

这会有用吗?

$items

SQLFiddle http://sqlfiddle.com/#!9/2078f/2