SELECT top 5 COUNT(买家) as [count],面积段 as 面积
FROM view_khfx 
where FirstHandID = 2 and  Convert(varchar(4),年份,120)='2007'   and Convert(varchar(2),月份,101)='7' group by 买家,面积段  order by count(买家) desc如何让面积段去重复

解决方案 »

  1.   

    用子查询查找出相同面积的最大或最小ID值。
    select top 5 COUNT(买家) as [count],面积段 as 面积
    from  view_khfx  v
    where id=(select max(id) from view_khfx where v.面积段=面积段)
      

  2.   

    加上group by 面积段  相同的就不再重复了
      

  3.   

    我加过了 select top 5 COUNT(买家) as [count],面积段 as 面积
    from  view_khfx  v
    where Dealid=(select max(Dealid) from view_khfx where v.面积段=面积段) group by 买家,面积段   这样就挂了,慢死
      

  4.   

    刚没注意看你的count()
    你这样试试
    SELECT top 5 COUNT(买家) as [count],面积段 as 面积
    FROM view_khfx  
    where FirstHandID = 2 and Convert(varchar(4),年份,120)='2007' and Convert(varchar(2),月份,101)='7' group by 面积段 order by count(买家) desc
      

  5.   

    select  ID,Name,dense_rank () over(order by IDC)  from 
    (
    select top 5 Count(ID) IDC,Name ,ID from dbo.TestTable1 
    group by ID,Name order by ID
    )aID:买家
    Name:面积段
    view_khfx  : TestTable1 
      

  6.   

    with t as
    (
    SELECT top 5 COUNT(买家) as [count], 面积段 as 面积
    FROM view_khfx  
    where FirstHandID = 2 and Convert(varchar(4),年份,120)='2007' 
    and Convert(varchar(2),月份,101)='7' group by 买家,面积段 
    order by count(买家) desc
    )
    select distinct(面积),* from t