如何计算流中最高K值的频率?
假设我们有一条小溪
CREATE STREAM stream (
value number
);我们插了十排
INSERT INTO stream (value) VALUES (1)
INSERT INTO stream (value) VALUES (1)
INSERT INTO stream (value) VALUES (1)
INSERT INTO stream (value) VALUES (2)
INSERT INTO stream (value) VALUES (2)
INSERT INTO stream (value) VALUES (3)
INSERT INTO stream (value) VALUES (4)
INSERT INTO stream (value) VALUES (5)
INSERT INTO stream (value) VALUES (6)
INSERT INTO stream (value) VALUES (7)我怎样才能拿回前2项及其频率
value | frequency
-----------------
1 | 0.3
2 | 0.2我想它应该同时使用Top和吗?
发布于 2017-06-20 20:43:55
您可以使用阿格:
CREATE CONTINUOUS VIEW v AS
SELECT fss_agg(x, 10) AS top_10_x FROM some_stream这将跟踪最常见的10值x。对每个值的权重也可以明确地给予:
CREATE CONTINUOUS VIEW v AS
SELECT fss_agg_weighted(x, 10, y) AS top_10_x FROM some_stream第一个版本隐式地使用了1的权重。
有各种各样的函数可以用来读取顶部K值及其相关的频率。例如,下面将返回表单的元组:(value, frequency)
SELECT fss_topk(top_10_x) FROM vhttps://stackoverflow.com/questions/44642507
复制相似问题