1. 求教一个sql语句:累计连续7天未登录用户数
selectcount(*)from表名
wheredatediff(dd,日期列名,getdate())>=7
仅供参考
2. SQL统计一个月连续出勤6天以上的员工
select 用户ID
from
(select 用户ID,count(*) cnt
from 表名
group by 用户ID
)tbl
where tbl.cnt > 6
3. 7天内活跃用户SQL 语句 怎么写 在线等
访问时间搞两个字段 一次为上次访问时间 一次为最近一次访问时间 然后算出这两次登陆的时间差....
$time1,$time2假设是这两个时间
$time1 = strtotime($time1);
$time2 = strtotime($time2);
$time = $time2-$time1;
$sql=select userid from userlog where $time<604800;
好久没接触php 你试下这样可以不
既然是这样 你就挑出第一条记录和最后一条记录 的那个访问时间 算出时间差 如果时间差大于一天少于7天 那就符合
4. sql求解:查询连续七天以上都有打卡的员工记录
可以利用一下ORACLE的ROWNUM机制来做点文章,因为它是自增的
我假设有这一张表 WORK
ID,上班日期(DA)
1,20080101
1,20080102
1,20080103
2,20080101
2,20080103
3,20080101
也可能是乱序的
第一步:排序
SELECT * FROM WORK ORDER BY ID, DA
第二步:日期-ROWNUM如果相同的话认为他们是连续的,然后GORUP BY一下
SELECT A.*, TO_NUMBER (A.DA - ROWNUM) DAYS
FROM (SELECT * FROM WORK ORDER BY ID, DA) A
第三步:分别求出连续区间,让他们相减求出大于6的值
SELECT C.ID
(SELECT B.ID, (MAX (B.DA) - MIN (B.DA)) DAYS
FROM (SELECT A.*, TO_NUMBER (A.DA - ROWNUM) DAYS
FROM (SELECT * FROM WORK ORDER BY ID, DA) A) B
GROUP BY B.ID, B.DAYS) C
WHERE C.DAYS > 7
ITPUB一位高人的办法得到了启发
5. 在sql server中怎么查询某时间段内的任意连续7天的没有操作发件的客户数量,有大神会写的吗帮帮忙急急急
With T {
SELECT b.Cus_Id, sum(a.Send_Num) As S_Num
From {Customer_Details} b Left Join {Customer_Sending} a
on a.Cus_Id = b.Cus_Id
and a.Statdate between @date1 and @date2
Group by b.Cus_Id
}
Select Count(T.Cus_Id) From TWhere T.S_Num = 0
6. 请教查询最近七天无任何操作的所有用户sql语句
select * from 语句 例: 明天 select convert(varchar(10),getdate() + 1,120) 最近七天 select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120) 随后七天 select * from tb where 时间字段 = 时间字段
7. 在oracle中 (比如用户进入一个百度知道,连续7天都登入账号 那怎么写连续7天的用户的SQL呢)
select * from
(select t2.user
,length(max(t2.str))-length(replace(max(t2.str),';','')) times
from
(select t1.user
,sys_connect_by_path(trunc(t1.opdate),';') str
from
(select t.user
,trunc(t.time) opdate
,rank() over(partition by t.user order by trunc(t.time)) rn
from member t) t1
start with trunc(t1.opdate)=trunc(sysdate)
connect by t1.rn = prior rn+1
and t1.user = prior t1.user
and t1.opdate = prior t1.opdate+1) t2
group by t2.user) t3
where t3.times>=7
;
-- type(登录类型),我没用,你需要区分类型的话自己加上吧,分也少了点,所以没人给你写啊
8. 连续签到的天数,并排序,求这个sql语句该怎么写
这里有一个采用遍历的方式获取指定用户连续签到的方法分享,
账号连续签到天数的获取
实现思路:采用遍历循环的方式,依次从大到小的比对用户是否签到
如有疑问,及时沟通!
9. 近七天内用户登录次数sql语句怎么写
使用union all合并一个最近七天且统计为0的查询,利用group by 日期天来统计真实数据,最外层包一个sum求和即可。