社区
疑难问题
帖子详情
求一组SQL(有难度)
mouse2003
2003-08-25 02:35:53
有一个表格记录每天的登陆情况,字段是用户名userid及登陆时间logontime。
我需要从这个表中统计出:
1.今天与昨天相比新增些了哪些登录用户?
2.连续一周每天登陆的用户是哪些?
3.最近一周从未登陆的用户有哪些?
请问高手这些功能该如果使用SQL实现?谢谢!
...全文
42
2
打赏
收藏
求一组SQL(有难度)
有一个表格记录每天的登陆情况,字段是用户名userid及登陆时间logontime。 我需要从这个表中统计出: 1.今天与昨天相比新增些了哪些登录用户? 2.连续一周每天登陆的用户是哪些? 3.最近一周从未登陆的用户有哪些? 请问高手这些功能该如果使用SQL实现?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengdali
2003-08-25
打赏
举报
回复
1.今天与昨天相比新增些了哪些登录用户?
select * from 表 where datediff(day,logontime,getdate())=0 and userid not in (select userid from 表 where datediff(day,logontime,getdate())=1)
2.连续一周每天登陆的用户是哪些?
select userid from 表 where datediff(day,logontime,getdate())<=7 group by userid having count(distinct CONVERT(varchar(10),logontime,120))=7
3.最近一周从未登陆的用户有哪些?
select * from 用户表 where userid not in (select userid from 表 where datediff(day,logontime,getdate())<=7)
CrazyFor
2003-08-25
打赏
举报
回复
1,
select * from 表 aa left join 表 bb on aa.userid=bb.userid
where convert(char(10),aa.登陆时间,120)=convert(char(10),getdate(),120) and convert(char(10),bb.登陆时间,120)=convert(char(10),getdate()-1,120) and bb.userid is null
2019小白
SQL
入门(零基础60分钟含
SQL
语法问答精彩)
零基础60分钟含
SQL
语法问答精彩
SQL
如何计算每个分组的中位数
中位数是指
一组
数据排序以后,位于中间位置的数据值。如果数据个数是奇数,中位数就是最中间位置那个值;如果是偶数,则是中间位置那两个数的平均值。 怎么查询出数据分组以后每个组的中位数呢? 用
SQL
来解决这个...
SQL
学习网站推荐
力扣网站上有一个
SQL
的专项练习,按照
难度
进行了分类,但是基础和进阶的题目需要付费解锁。 牛客网 地址:https://www.nowcoder.com/exam/oj/ta?tpId=298 牛客网提供了一个
SQL
必知必会专项题库,按照知识点和...
一条
SQL
实现数值占比计算,拒绝嵌套查询
为此,我考虑不以嵌套的形式,一条
sql
直接输出我们想要的占比,只需改变字段名称,就可直接获取占比值,一并返回。 --只针对my
sql
8.0以上版本,其余数据库正常使用 select id , count(1) as count, concat(round...
经典
SQL
面试10题(附答案)
网上分享的中高
难度
SQL
题。 二、解题思路 简单——会考察一些group by & limit之类的用法,或者平时用的不多的函数比如rand()类;会涉及到一些表之间的关联 中等——会考察一些窗口函数的基本
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章