经常做这种查询?
- 哪些股票在这个月内连续上涨过五天?
- 每个地区的收入中位数是多少?
- 业绩最好的那三个月的增长额有多少?
- 每门功课都在前10名的学生?
- 各个销售员到几月份的销售额就到50万了?
1 | select max(连续日数)-1 from |
2 | (select count(*) 连续日数 from |
3 | (select sum(涨跌标志) over ( order by 交易日) 不涨日数 from |
4 | ( select 交易日, |
5 | case when 收盘价>lag(收盘价) over( order by 交易日 then 0 else 1 end 涨跌标志 |
6 | from 股票 )) |
7 | group by 不涨日数) |
a | |
---|---|
1 | =orcl.query("select * from 股票 order by 交易日") |
2 | =a1.group@i(收盘价<收盘价[-1]).max(~.len()) |
a | |
---|---|
1 | =销售表.sort(月份) |
2 | =a1.derive(销售额{-1,1}.avg()):移动平均) |
a | |
---|---|
1 | =股票.sort(交易日) |
2 | =a1.group(代码) |
3 | =a2.select((a=0,~.pselect(a=if(收盘价>收盘价[-1],a 1,0):3))>0) |
4 | =a3.(代码) |
id | org_name | parent_id |
---|---|---|
1 | head office | 0 |
2 | beijing branch office | 1 |
3 | shanghai branch office | 1 |
4 | chengdu branch office | 1 |
5 | beijing r&d center | 2 |
...... | ...... | ...... |
a | b | |
---|---|---|
1 | =connect("db") | /连接数据库 |
2 | =a1.query("select * from organization") | /查询组织结构表 |
3 | >a2.switch(parent_id,a2:id) | /将parent_id外键映射到该id所在的记录,实现自连接。 |
4 | =a2.select@1(org_name=="beijing branch office") | /选出北京分公司所在记录 |
5 | =a2.new(id,org_name,~.prior(parent_id,a4) :parent) | /创建由序号、部门名称和上级组成的新表。其中上级是通过prior函数递归查找北京分公司以下的记录得出。 |
6 | =a5.select(parent!=null) | /选出上级存在的成员,不存在的说明不在北京分公司下属。 |
7 | =a6.run(parent=parent.(parent_id.org_name).concat@c()) | /将上级字段中所有的上级名称拼在一起,用逗号分隔。 |