问题描述
- SQL 查询 求大神指点?急。。急
- 怎么在登录表中查询一段时间内登录超过三次的玩家ID,一天内登录次数大于1只算登录1次,
表中的列有登录ID,登录时间。
解决方案
应该这样写:
select 玩家ID from 表名 group by 玩家ID having count(玩家ID) >3
解决方案二:
select * from
(select idcount(*) cnt from table 登陆时间 = 今天 group by id) where cnt >1
解决方案三:
数据库要有一个登录次数字段和上次登录时间字段,然后每次登录的时候取出上次登录时间,转换成日期格式,对比时间,如果间隔超过一天,就让登录次数加1,如果没超过则不增加
解决方案四:
数据库要有一个登录次数字段和上次登录时间字段,然后每次登录的时候取出上次登录时间,转换成日期格式,对比时间,如果间隔超过一天,就让登录次数加1,如果没超过则不增加
解决方案五:
好像有点不对啊,登录如果在一天内登录了两次,那样只能算登录了一天, 现在要求的是登录大于三天的玩家ID,这三天可以不是连续登录。。。
解决方案六:
取出表中,规定时间范围内的登录时间,然后取天的数字比对,超过3个不同的数字即验证通过
解决方案七:
select ID from 表 where convert(char时间112) between 开始时间 and 结束时间
group by convert(char时间112)
having count(*) >=3
时间: 2024-12-04 00:07:17