首页 新闻 搜索 专区 学院

sql 查询过滤重复的问题

0
悬赏园豆:10 [已解决问题] 解决于 2014-12-19 17:21

 

以PI_PlatID为目标过滤重复的  最后只剩下前3条 

数据 

 

sql:

select   a.p_count ,a.p_Time,b.PI_Name, a.PI_PlatID,
        count(a.PI_PlatID) over(PARTITION BY a.PI_PlatID) as 分组汇总
      from    
T_PlatformInstructionCount a left join t_PlatformInfo b

on a.PI_PlatID=b.PI_PlatID

where   a.p_Time between  '2014-11-20 06:00:30.000' and '2014-12-16 11:34:05.000'

 

 

其他方式:

对于这个sql查询顾虑数据我发现我一直都不能很好的解决 都是靠在c#过滤 但是我不想那些 求 解决  (distinct 的悲剧就是 时间不是一样的 过滤不掉)

谢谢各位朋友 !

s_p的主页 s_p | 菜鸟二级 | 园豆:281
提问于:2014-12-18 18:10
< >
分享
最佳答案
0

分组排序,取rownum = 1的数据。

参考:
SELECT 
    * 
FROM ( 
        SELECT 
            *
           ,rownum = ROW_NUMBER() OVER(PARTITION BY PI_PlatID 
        ORDER BY p_Time) 
        FROM 数据
     ) AS t 
WHERE 
    t.rownum = 1
收获园豆:10
幻天芒 | 高人七级 |园豆:36652 | 2014-12-19 10:02

这个确实好  谢了  星哥

s_p | 园豆:281 (菜鸟二级) | 2014-12-19 17:21

@s_p: 额。。。

幻天芒 | 园豆:36652 (高人七级) | 2014-12-19 17:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册