分享

如何在Group表达式中取最前面的记录呢?

 WindySky 2010-03-12
如何在Group表达式中取最前面的记录呢?

SQL如下:

select pv_referurl AS 来路页面
      ,pv_referdomain AS 来路域名
      ,pv_siteid AS 网站ID
      ,pv_pagetitle AS 页面标题
      ,pv_source AS 来路分类
      ,COUNT(pv_id) AS PV
      ,COUNT(DISTINCT pv_visitorid) AS 独立访客
      ,COUNT(DISTINCT pv_ip) AS IP
      ,COUNT(DISTINCT pv_visitid) AS 访问次数   
from pandian.pd_pv1 t1
--where page_visittime >= TRUNC(SYSDATE)
group by pv_referurl,pv_referdomain,pv_siteid,pv_pagetitle,pv_source
order by pv_siteid


执行结果见附件中的图

现在是8条记录,每个网站ID都有两个,但是我现在想只取其中的1个,比如网站ID为1的有两条记录,一个记录编号为1,一个为2,我就只显示为1的,靠前的一条记录。这样下来就只有4条记录

我想到是不是用top

怎么实现这个效果呢?




fan0124 上传了这个附件:
2010-3-11 17:41
 
 
select max(页面标题),网站id from t group by 网站id
 
 
 
select * from
(
select pv_referdomain
      ,pv_siteid
      ,row_number() over (partition by pv_referdomain order by pv_siteid) row_id
from pandian.pd_pv1
)
where row_id = 1;
 
点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多