0
我有一个表是这样的:分离的日期和时间的日期时间戳
我需要找到量的总和中说每一秒或分钟间隔。我尝试使用xbar,但我似乎无法从数据中分离日期和时间。
另外我想问一下,我们如何在指定的时间间隔内添加总结账户的命令?
我有一个表是这样的:分离的日期和时间的日期时间戳
我需要找到量的总和中说每一秒或分钟间隔。我尝试使用xbar,但我似乎无法从数据中分离日期和时间。
另外我想问一下,我们如何在指定的时间间隔内添加总结账户的命令?
你是对的; xbar可用于此分组。总和函数然后可以用于聚合每个创建的组:
select sum Amount by 1 xbar Time.minute from t
或按时间列组(时间戳是基于整数)。
select sum Amount by Time from t
详情如下:
如果你的表是这样的:
q})t: ([] Amount:`int$(); Time:`timestamp$());
q)show meta t
c | t f a
------| -----
Amount| i
Time | p
,并使用以下数据:
q)`t insert (10?100;asc .z.p+10?00:10)
q)show t
Amount Time
------------------------------------
58 2017.09.14D10:44:48.992850000
68 2017.09.14D10:44:48.992850000
45 2017.09.14D10:47:48.992850000
2 2017.09.14D10:48:48.992850000
...
然后你可以使用XBAR到组表每分钟间隔:
q)select sum Amount by 1 xbar Time.minute from t
minute| Amount
------| ------
10:44 | 126
10:47 | 45
10:48 | 41
10:49 | 113
...
或者到组5个分钟的间隔:
q)select sum Amount by 5 xbar Time.minute from t
minute| Amount
------| ------
10:40 | 126
10:45 | 199
10:50 | 210
或者到组5秒的时间间隔:
q)select sum Amount by 5 xbar Time.second from t
second | Amount
--------| ------
10:44:45| 126
10:47:45| 45
10:48:45| 41
10:49:45| 113
...
在金额栏的值将被相加的每个组。
作为一个侧面说明,你也可以通过在时间列不同的值组:
q)select sum Amount by Time from t
Time | Amount
-----------------------------| ------
2017.09.14D10:44:48.992850000| 126
2017.09.14D10:47:48.992850000| 45
2017.09.14D10:48:48.992850000| 41
2017.09.14D10:49:48.992850000| 113
2017.09.14D10:51:48.992850000| 122
2017.09.14D10:52:48.992850000| 88
感谢。