查询一个月活跃的用户开发者手机号

需求:

因为报表的数据是在aip_palo/aip_stat里面,而用户的数据在另外一台主机上,需要我们跨主机去查询数据库

因为只需要用户的id,account_type,phone,email,所以思路是:

1.去报表中根据时间查询出用户的id,放到字符串当中

2.使用in查询出用户的信息(下面的3行可以忽略)(方法不是最好的,但是能实现目前的功能,最好的方法是用php或者awk去实现)

(mysql -u USERNAME -p PASSWORD DATABASENAME <<EOF 2>/dev/null
    show databases;
EOF)

一、首先去报表当中将用户的数据user_id去出来写入到data.txt

mysql -h192.168.0.121 -uroot -proot  -Dtest -e 'select dintinct(user_id) from aip_palo where stat_time between ** and **' >data.txt;

二、对data.txt中的user_id进行处理

1.首先去掉字段名 

使用shell >会将字段名加上,所以要去掉

2.将换行符替换成 ','

3.因为要使用in方法,但数据量有点大,需要对文件进行切割(使用php进行处理),一共4万条数据,1000条一个文件

三、通过shell脚本操作数据库循环取出数据,追加数据

执行文件  sh shu.sh

第四步:对编码进行转换

             iconv -futf8 -tgb2312 -otype1.xls result.xls

第五步:下载文件     sz result.xls

猜你喜欢

转载自blog.csdn.net/weixin_36521716/article/details/82017566
今日推荐