So far, I am using this Query:
SELECT "FailCode",
count (*) FILTER (WHERE "FailCode" =10 or "FailCode"=14 or "FailCode"=18 or "FailCode"=23 or "FailCode"=27 or "FailCode"=35 or "FailCode"=40) as "Ch1",
count (*) FILTER (WHERE "FailCode" =11 or "FailCode"=15 or "FailCode"=19 or "FailCode"=24 or "FailCode"=28 or "FailCode"=36 or "FailCode"=41) as "Ch2",
count (*) FILTER (WHERE "FailCode" =12 or "FailCode"=16 or "FailCode"=20 or "FailCode"=25 or "FailCode"=29 or "FailCode"=37 or "FailCode"=42) as "Ch3",
count (*) FILTER (WHERE "FailCode" =13 or "FailCode"=17 or "FailCode"=21 or "FailCode"=26 or "FailCode"=30 or "FailCode"=38 or "FailCode"=43) as "Ch4"
FROM public.minical01
group by 1
order BY 1;
But what I am seeking to generate a new column ("new_column") with 7 rows (as a new integer for every new row 1,2..6,7) from a range of integers from the first column "FailCode" without displaying the "FailCode" column... and instead I want to display only the "new_column" and the "Ch1", "Ch2", "Ch3", "Ch4" columns.
Every row (as integer) for the "new_column" should represent the following ranges:
- (WHERE "FailCode" >= 10 and "FailCode" <= 13) as 1
- (WHERE "FailCode" >= 14 and "FailCode" <= 17) as 2
- (WHERE "FailCode" >= 18 and "FailCode" <= 21) as 3
- (WHERE "FailCode" >= 23 and "FailCode" <= 26) as 4
- (WHERE "FailCode" >= 27 and "FailCode" <= 30) as 5
- (WHERE "FailCode" >= 35 and "FailCode" <= 38) as 6
- (WHERE "FailCode" >= 40 and "FailCode" <= 43) as 7
Any hints or ideas would be greatly appreciated. Thank you!!