高难度SQL分组查询

来源:百度知道 编辑:UC知道 时间:2024/05/29 22:48:19
最近在做一个统计模块,但有一个结果算起来很麻烦。
我们在前台已经记录了用户访问我们网站的IP、时间、用户ID、要访问的页面地址、来源页面地址等信息,我现在要统计所有结束页面的从高到底的排名情况,即有多少用户在哪些页面停止浏览我们的网站了,我已经算出来了,但是不能排序,现把SQL语句贴出来

select distinct top 15 (select top 1 visitto from visitdetails where visituser=a.visituser order by visitdate desc) from (select visituser from visitdetails where visitdate >=cast('2009-1-14' as datetime) group by visituser) as a where (select top 1 visitto from visitdetails where visituser=a.visituser order by visitdate desc) is not null

这只是得出最后页面,然后在具体输出的时候,再取得有多少用户以此页面作为最后页面,因此无法排序,有没有改进的方法?
不是,主要统计两方面的信息:
1、哪些页面是用户最后访问页面
2、每个最后访问页面的用户数,即有多少用户浏览此页面后没有再继续浏览我们的网站了。

你的2个要求需要用2个查询来是实现,因为一个是需要明细数据,而另一个是需要概括数据,
因此用2个查询就可以实现了。
至于排序的问题,可以再在外面包上一层查询,再对数据进行排序,进行输出,这样应该就可以了。
呵呵,希望能有帮助,^_^

没看懂你的意思,根据你的描述
是不是你想查询同一用户ID,要访问的地址,而且不是来源页面的页面的排行啊

不管什么难度的
你把create 语句 和 insert 写上
再把 你想要的结果的格式粘上

然后HI我一下