2016.12.08回顾 SQL模块化与子查询 SELECT NULL变换 JOINQUANT探索

来源:互联网 发布:冰鉴 出版社 知乎 编辑:程序博客网 时间:2024/06/05 12:01

1、昨天基本上全天都在弄同盾多头借贷和同盾严重逾期的规则,我想一下学到了哪些东西呢?

     - 可以join表,拿相关的字段,也可以直接写子查询根绝关键字段比如customer_id去拿,如果查询比较复杂,后者方法更佳,这样sql显得更模块化,不然这部分sql就是写在from后面

     - where后的条件不满足,查出来是NULL,如果对NULL进行条件处理,如CASE WHEN,COALESCE,这个时候就会有查询结果了,这个和python的MYSQL API要分开来看,MYSQL API比如WHERE条件不满足,查出的result = cur.fetchone()是空,result[0]也为空,但是在where条件满足的时候result非空,只是select的字段是空,这个时候if result就会执行,回到最前面说的情况,自然result就非空了,这就好比select 1个常数,WHERE 不满足没有记录,但是常数始终有一条记录在


    - 上面这段话,删除线部分有错误,在mysql中我发现一个奇怪的机制,不排除是bug,首先如果where条件不满足,就是查不到记录,自然用case when 或者 coalesce 都没用,结果仍然会是NULL,但是那天我为什么看到结果了,那是因为SELECT部分使用了SUM函数,这个函数我观察了一下,有个作用是可以把where条件不满足的情况,也就是0条记录查得的情况,变成查得一条记录,但是字段都是NULL,所以这个时候自然用coalesce和case when可以进行操作!所以我以前的想法才是对的,只是不明白SUM为什么会有这种机制,不深究了,注意一下便可

     - ALTER TABLE table_name ADD column_name TYPE(length) DEFAULT default_value COMMENT 'balabala',ADD XXX,ADD YYY,添加多个字段写一个ALTER TABLE便可,剩下的ADD排比

2、启动了joinquant的模拟交易,但是没有看见启动啊

3、下午开了个会,再一次对于knowru的介绍

4、看一个joinquant的API,获取未完成订单,非调仓日没看见动静,调仓日也观察了部分日志没有发现内容,还需要继续观察一下,相反通过看日志,我发现了一个退市股票,我是去除了ST股,说明joinquant的回测框架是根据股票名来判断st股的,我买的时候是博元退市整理期,其名字叫做退市博元,直接就买进了,然后我想看看这个代码对应的股票名字变化列表,找了一会儿,还未找到API

0 0
原创粉丝点击