create table t( s String ) Engine=Memory as select arrayJoin (['a','b','c']);

SELECT round((sum(multiIf(s IN ('a', 'b'), 1, 0)) / count()) * 100) AS r
FROM cluster('test_cluster_two_shards', currentDatabase(), t);

DROP TABLE t;



CREATE TABLE test_alias(`a` Int64, `b` Int64, `c` Int64, `day` Date, `rtime` DateTime) ENGINE = Memory
as select 0, 0, 0, '2022-01-01', 0 from zeros(10);

WITH 
    sum(if((a >= 0) AND (b != 100) AND (c = 0), 1, 0)) AS r1, 
    sum(if((a >= 0) AND (b != 100) AND (c > 220), 1, 0)) AS r2 
SELECT 
    (intDiv(toUInt32(rtime), 20) * 20) * 1000 AS t, 
    (r1 * 100) / (r1 + r2) AS m
FROM cluster('test_cluster_two_shards', currentDatabase(), test_alias)
WHERE day = '2022-01-01'
GROUP BY t
ORDER BY t ASC;

DROP TABLE test_alias;
