0
我想总结两列的乘积,但我想在小部分中进行。也就是说,对于每个date
每symbol
我想总结oi
和'contract_settle`的乘积。这里是我的SQLite数据库的一个片段:SQLite - 根据其他列中的索引对列的小部分进行求和
date symbol cont oi contract_settle
20030103 NVLS1C 100 NA
20030103 NVLS1C 03F 19 3125
20030103 NVLS1C 03G 8 3128
20030103 NVLS1C 03H 14 3130
20030103 NVLS1C 03M 59 3140
20030103 BGEN1C 90 NA
20030103 BGEN1C 03F 20 4149
20030103 BGEN1C 03G 30 4154
20030103 BGEN1C 03H 20 4158
20030103 BGEN1C 03M 20 4174
所以,我想这样的结果:
date symbol cont oi contract_settle oi_dollar
20030103 NVLS1C 100 NA 313479
20030103 NVLS1C 03F 19 3125
20030103 NVLS1C 03G 8 3128
20030103 NVLS1C 03H 14 3130
20030103 NVLS1C 03M 59 3140
20030103 BGEN1C 90 NA 374240
20030103 BGEN1C 03F 20 4149
20030103 BGEN1C 03G 30 4154
20030103 BGEN1C 03H 20 4158
20030103 BGEN1C 03M 20 4174
我想这会工作:
SELECT *,
(SELECT sum(oi * contract_settle) WHERE symbol=symbol) as oi_dollar
FROM ann
但它给出了这样的:
date symbol cont oi contract_settle oi_dollar
20030103 NVLS1C 100 NA NA
20030103 NVLS1C 03F 19 3125 59375
20030103 NVLS1C 03G 8 3128 25024
20030103 NVLS1C 03H 14 3130 43820
20030103 NVLS1C 03M 59 3140 185260
20030103 BGEN1C 90 NA NA
20030103 BGEN1C 03F 20 4149 82980
20030103 BGEN1C 03G 30 4154 124620
20030103 BGEN1C 03H 20 4158 83160
20030103 BGEN1C 03M 20 4174 83480
谢谢!
哇!它确实!而且速度很快!谢谢! – 2010-10-29 20:34:28
没问题,尽情享受吧! – vickirk 2010-10-29 20:38:11