根据马甲应用商店统计每天的注册量,要求可以根据选择马甲和app,马甲和appstrore和user_login不同表问题
Posted guoDaXia的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据马甲应用商店统计每天的注册量,要求可以根据选择马甲和app,马甲和appstrore和user_login不同表问题相关的知识,希望对你有一定的参考价值。
这个马甲属于一个表,appStore另一张表,用户登录表,主要操作的就是这三个表。
我这里的马甲和app的id都与用户登录表中的channel对应,在channel存放的是majiaId + “|” + storeId
第一版sql:
select count(*), sms_tag_name, store_name from (select id, create_date, SUBSTR(channel,0,NVL(INSTR(channel, ‘|‘, 1,1),0)-1) sms_tag_id, SUBSTR(channel,NVL(INSTR(channel, ‘|‘, 1,1),0)+1, length(channel)- NVL(INSTR(channel, ‘|‘, 1,1),0)) store_id, channel from user_login where NVL(INSTR(channel, ‘|‘, 1,1),0) != 0) u INNER JOIN majia_sms_tag mst ON mst.sms_tag_id = u.sms_tag_id INNER JOIN app_store aps ON aps.store_id = u.store_id where store_name=‘华为‘ group by sms_tag_name, store_name
发现存在问题,针对用户登录中农没有存储到的马甲和应用商店的注册量找不出来等,信息不全面
第二版:
select count(u.id), sms_tag_name, store_name from ( select sms_tag_id, sms_tag_name, store_id, store_name, concat(concat(sms_tag_id,‘|‘),store_id) as channel from majia_sms_tag cross join app_store ) ma left join ( select * from user_login where to_char(create_date, ‘YYYYMMDDHH24MISS‘) >= ‘20160801000000‘ and to_char(create_date, ‘YYYYMMDDHH24MISS‘) <= ‘20170801000000‘ ) u on u.channel = ma.channel where sms_tag_id=‘com.rybring.weilidai‘ and store_id=‘platf.360‘ group by sms_tag_name,store_name order by sms_tag_name,store_name
还是用了cross join,第一次用到擦,并且将两个查询的条件分别放在子查询中和外面。神来之笔。
以后再有类似需求可以参考。
以上是关于根据马甲应用商店统计每天的注册量,要求可以根据选择马甲和app,马甲和appstrore和user_login不同表问题的主要内容,如果未能解决你的问题,请参考以下文章
现有一个商店的数据库,记录顾客及其购物情况,根据要求解答问题
jQuery Datepicker - 根据所选选项刷新可选择的日期