求助,被两道sql题难到了

mt351943828 2018-08-27 11:21:39
1.根据更新的时间取最近发布的三个版本号,统计每个版本的下载次数



2.统计该应用最近三个月,每个月的登陆次数


数据库是oracle
...全文
413 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
select distinct top 3 version,max(create_date)cd,count(1)ct
from tb
group by version
order by cd desc
回复
秦拿希 2018-09-13
WITH LatThreeVersion as(
SELECT top 3 ROW_NUMBER() over (order by create_time desc) num,*
from tableA)
select tableA.ID,tableA.DOWNLOAD 
from tableA 
inner join LatThreeVersion on tableA.ID=LatThreeVersion.ID
--获取最新三个月份
with LatThreeMonth as (
SELECT CONVERT(varchar(6),GETDATE(),112) mon
UNION
select CONVERT(varchar(6),DATEADD(mm,-1,GETDATE()),112)  mon  
UNION
select CONVERT(varchar(6),DATEADD(mm,-2,GETDATE()),112) mon) 
--获取最近三个月份每个月的登录次数(loginTable虚拟)
select count(id),mon 
from ( select loginTable.id, CONVERT(varchar(6),loginTable.loginTime,112) as mon
	     from loginTable
	inner join LatThreeMonth on LatThreeMonth.mon = CONVERT(varchar(6),loginTable.loginTime,112)
)
group by mon
回复
唐诗三百首 2018-08-27
请提供表结构, 测试数据, 处理逻辑和希望结果.
回复
jinhx 2018-08-27
select a.id,sum(a.download) from mytb a
right join (select top 3 id from mytb order by CREATE_TIME desc)) b on b.id=a.id
group by a.id
回复
卖水果的net 2018-08-27
数据长什么样? 结果又要什么样? 都说一下。
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2018-08-27 11:21
社区公告
暂无公告