7天内活跃用户SQL 语句 怎么写 在线等
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7天内活跃用户SQL 语句 怎么写 在线等相关的知识,希望对你有一定的参考价值。
7天内 至少有2天访问 ,算是活跃用户 , 怎么用sql语句统计
userlog 表
userid 用户id
pageurl 页面地址
accesstime 访问时间
比如说我要统计 今天的2月25日的 活跃用户
也就是用户 在2月19日到--2月25日 之间 至少有两天访问过 怎么统计
这个表是用户日志表:用户登录一次 访问一次页面就会记录一次 然后 只要用户在今天在日志中记录了一次那么今天算是访问过了, 也就是说某个人可能某天会产生很多日志 条目 ..所以 我刚才看了一下 妙似都不是很对
$time1,$time2假设是这两个时间
$time1 = strtotime($time1);
$time2 = strtotime($time2);
$time = $time2-$time1;
$sql=select userid from userlog where $time<604800;
好久没接触php 你试下这样可以不
既然是这样 你就挑出第一条记录和最后一条记录 的那个访问时间 算出时间差 如果时间差大于一天少于7天 那就符合 参考技术A select * from userlog where pageurl='' and accesstime>2.19 and accesstime<=2.25 and count(accesstime)>=2
这是个伪sql,未验证,就是查询最近7天内最少有两天访问过该页面的用户信息,如果accesstime不是每天只记录一次的话,还需要对accesstime过滤(accesstime一天只统计一次) 参考技术B select userid, count(*) 登录次数 from userlog
where pageurl='页面地址' and accesstime between 时间1 and 时间2
group by userid
having count(*)>=2 参考技术C select userid from userlog where pageurl='页面地址' and accesstime between 时间1 and 时间2 参考技术D select userid,count(sj) dlcs--登陆次数
from (
SELECT userid,datepart(day,accesstime) sj
from userlog
where accesstime>dateadd(day,-7,getdate())
group by userid,datepart(day,accesstime)
)
group by userid追问
sql 里面执行是有错误的 你再看一下
消息 156,级别 15,状态 1,第 8 行
关键字 'group' 附近有语法错误。
SELECT userid,datepart(day,accesstime) sj
from userlog
where accesstime>dateadd(day,-7,getdate())
group by userid,datepart(day,accesstime)
查询出来的结果是:
C++/CLI怎么往TXT里写数据?急,在线等,谢谢
如:ofstream outfile("output.txt",ios::app);//定义文件流对象
if(!outfile)
cout<<"对不起,文件打开失败"<<endl;
exit(1);
outfile<<a<<" "<<b;//往文件中输入a b
outfile.close(); 参考技术A #include<string>
#include<fstream>
ofstream fout;
fout.open ("d:\\message.txt");
fout<<q->name <<endl;
fout<<q->tele <<endl;
fout<<q->street <<endl;
fout<<q->mailcode <<endl;
fout<<q->city <<endl;
fout<<q->state <<endl;
fout.close ();
以上是关于7天内活跃用户SQL 语句 怎么写 在线等的主要内容,如果未能解决你的问题,请参考以下文章
SQL语句查询姓名包含阿拉伯数字、英文字母等不符合规范的文字怎么写?
sql 语句 ,怎么将字符型转换为数字型(整型,浮点型)都行,用啥函数 在线等