我有一个下表定义:
sym ="C""MS""MS""MS""IBM""IBM""C""C""C"$symbol;
price= 49.6 29.46 29.52 30.02 174.97 175.23 50.76 50.32 51.29;
qty = 2200 1900 2100 3200 6800 5400 1300 2500 8800;
timestamp = [09:34:07,09:36:42,09:36:51,09:36:59,09:32:47,09:35:26,09:34:16,09:34:26,09:38:12];
t1 = table(timestamp, sym, qty, price);
然后,t1中的数据为
我想计算每个公司的库存收益,并得到如下结果,
sym timestamp price ret
--- --------- ------ ---------
C 09:34:07 49.6
C 09:34:16 50.76 0.023387
C 09:34:26 50.32 -0.008668
C 09:38:12 51.29 0.019277
IBM 09:32:47 174.97
IBM 09:35:26 175.23 0.001486
MS 09:36:42 29.46
MS 09:36:51 29.52 0.002037
MS 09:36:59 30.02 0.016938
如何编写满足要求的SQL语句?
使用CONTEXT BY子句解决您的问题。
context by子句会将数据分成类似于group by子句的组。但是,可以将向量函数而不是集合函数应用于每个组。
select sym, timestamp, price, ratios(price) - 1 as ret from t1 context by sym csort timestamp
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句