求助,被两道sql题难到了

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



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


数据库是oracle
...全文
444 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
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
  • 打赏
  • 举报
回复
数据长什么样? 结果又要什么样? 都说一下。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧