2013-05-07 41 views
1

我有一個表(allsales)與時間列(sale_time)。我想按sale_time將數據分組。但我希望能夠挖掘這一點。除了時間在00:00:00-03:00:00之間的任何數據應該被分組在一起,03:00:00-06:00:00應該被分組在一起等等。有沒有辦法寫這樣的查詢?如何使用自定義組將數據分組到kdb +中?

回答

3

xbar可用於四捨五入間隔值例如

q)5 xbar 1 3 5 8 10 11 12 14 18 
0 0 5 5 10 10 10 10 15 

然後,我們可以用它來組行成時間組,爲您的示例:

q)s:([] t:13:00t+00:15t*til 24; v:til 24) 

q)s 
t   v 
-------------- 
13:00:00.000 0 
13:15:00.000 1 
13:30:00.000 2 
13:45:00.000 3 
14:00:00.000 4 
14:15:00.000 5 
.. 

q)select count i,sum v by xbar[`int$03:00t;t] from s 
t   | x v 
------------| ------ 
12:00:00.000| 8 28 
15:00:00.000| 12 162 
18:00:00.000| 4 86 

「的XBAR [`詮釋$ 03:00噸; T]」 查房時間列t輸出給最近的三小時值,然後這被用作羣組。

+0

非常感謝,非常有幫助 – Mancunia89 2013-05-08 11:13:44

相關問題