add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE Numbers(
id INT,
number INT
);
INSERT INTO Numbers VALUES
(0, 2),
(1, -1),
(2, 1);

SELECT * FROM Numbers
id number
0 2
1 -1
2 1
SELECT sign,
COUNT(CASE WHEN sign = 'positive' AND number > 0 THEN 1
WHEN sign = 'negative' AND number < 0 THEN 1
WHEN sign = 'neither' AND number = 0 THEN 1 END) AS sign_count
FROM (VALUES('positive'),('negative'),('neither')) AS signs(sign)
CROSS JOIN Numbers
GROUP BY sign
sign sign_count
positive 2
negative 1
neither 0
Warning: Null value is eliminated by an aggregate or other SET operation.