CREATE TABLE input(symbol String, id int, price double);
INSERT INTO input VALUES ("CAT", 1, 50),("CAT", 2, 54),("CAT", 3, 52),("CAT", 4, 52),("CAT", 5, null),("CAT", 6, 57);
INSERT INTO input VALUES ("IBM", 1, 20),("IBM", 2, 24),("IBM", 3, 22),("IBM", 4, 27),("IBM", 5, null);
CREATE TABLE result AS PREPARE *,norm(price) AS newCol FROM input PARTITION BY symbol;
Table input = SELECT * FROM input;
TABLE result = SELECT * FROM result;
// input =
// +---------------------+
// | input |
// +------+-------+------+
// |symbol|id |price |
// |String|Integer|Double|
// +------+-------+------+
// |CAT |1 |50.0 |
// |CAT |2 |54.0 |
// |CAT |3 |52.0 |
// |CAT |4 |52.0 |
// |CAT |5 !null |
// |CAT |6 |57.0 |
// |IBM |1 |20.0 |
// |IBM |2 |24.0 |
// |IBM |3 |22.0 |
// |IBM |4 |27.0 |
// |IBM |5 !null |
// +------+-------+------+
//
// result =
// +-----------------------------------------+
// | result |
// +------+-------+------+-------------------+
// |symbol|id |price |newCol |
// |String|Integer|Double|Double |
// +------+-------+------+-------------------+
// |CAT |1 |50.0 |0.18867924528301888|
// |CAT |2 |54.0 |0.39245283018867927|
// |CAT |3 |52.0 |0.5886792452830188 |
// |CAT |4 |52.0 |0.7849056603773585 |
// |CAT |5 !null |0.7849056603773585 |
// |CAT |6 |57.0 |1.0 |
// |IBM |1 |20.0 |0.21505376344086022|
// |IBM |2 |24.0 |0.4731182795698925 |
// |IBM |3 |22.0 |0.7096774193548387 |
// |IBM |4 |27.0 |1.0 |
// |IBM |5 !null |1.0 |
// +------+-------+------+-------------------+
//