示例:组聚合求和
获取 2013 年第一季度每个月的总量:
SELECT symbol,
seq_search(day, 20130101, 20130331) as trade_date,
volume@trade_date as "volume",
seq_group_agg_sum(volume@trade_date, trade_date/100) as "month_vol"
FROM Quote WHERE symbol='IBM';
symbol
trade_date{}
volume{}
month_vol{}
------------------------------------------------------------------------------
IBM
{20130102, 20130103, 20130104, 20130107, 20130108,
20130109, 20130110, 20130111, 20130114, 20130115,
20130116, 20130117, 20130118, 20130122, 20130123,
20130124, 20130125, 20130128, 20130129, 20130130,
20130131,
20130201, 20130204, 20130205, 20130206, 20130207,
20130208, 20130211, 20130212, 20130213, 20130214,
20130215, 20130219, 20130220, 20130221, 20130222,
20130225, 20130226, 20130227, 20130228,
20130301, 20130304, 20130305, 20130306, 20130307,
20130308, 20130311, 20130312, 20130313, 20130314,
20130315, 20130318, 20130319, 20130320, 20130321,
20130322, 20130325, 20130326, 20130327, 20130328}
{4234226, 3644876, 3380159, 2862276, 3028071,
3211997, 3608049, 3880567, 4172922, 4172034,
2962820, 3884254, 4559773, 7159219, 12530410,
4447108, 3358887, 2823615, 3617058, 2998524,
3091406,
3371154, 3188819, 3636837, 3624103, 3076793,
2893254, 2944651, 2461779, 2169757, 3294126,
3627887, 2998317, 3715311, 3923051, 3107976,
3845476, 3391562, 4185545, 4689998,
3309434, 3693365, 3807706, 3594899, 3884317,
3700786, 3049701, 3592096, 3356946, 5505584,
7936544, 3006125, 3198577, 3020648, 5830566,
3031457, 3242463, 2300240, 3223381, 3752999}
{87628251, 64146396, 76037834}
我们可以对上述输出进行如下分析:
- 为了方便起见,将交易日期和成交量序列的输出值按月份进行划分。
- 序列 month_vol 显示每个月的“组聚合求和”(计算方式为 trade_date/100,例如 20130101/100 = 201301)。
- 二月份的成交量总计如下,从而在序列 month_vol 中生成相应的值 64146396:
交易日 | 成交量 |
---|---|
20130201 | 3371154 |
20130204 | 3188819 |
20130205 | 3636837 |
20130206 | 3624103 |
20130207 | 3076793 |
20130208 | 2893254 |
20130211 | 2944651 |
20130212 | 2461779 |
20130213 | 2169757 |
20130214 | 3294126 |
20130215 | 3627887 |
20130219 | 2998317 |
20130220 | 3715311 |
20130221 | 3923051 |
20130222 | 3107976 |
20130225 | 3845476 |
20130226 | 3391562 |
20130227 | 4185545 |
20130228 | 4689998 |
2月总计 | 64146396 |
要运行此示例脚本以演示此选择语句,请在 samples/xsql/scripts/financial 目录中使用以下命令:
x 10