访问的是acc数据库,现在想挑选其中最活跃的6位用户,条件是通过用户的虚拟币来删选的,但是如果遇到有相同虚拟币的用户数据库都会列出来,应该怎么来进行删选呢? 比如说数据库中表名称为mem,虚拟币字段:money
谢谢。

解决方案 »

  1.   

    select top 6 with ties * 
    from mem 
    order by [money] desc
      

  2.   

    --假設ID自增
    select top 6 *
    from mem t
    where not exists(select 1 from mem where [money]=t.[money] and id>t.id)
    order by [money] desc
      

  3.   

    select top 6 *from men
    order by money desc是这样吗
      

  4.   

    select
     top 6 *
    from
     mem t
    where
     id=(select max(id) from mem where [money]=t.[money])
    order by
     [money] desc
      

  5.   


    --我的方法很笨,楼主可以参考一下
    --假如楼主你的表是user_info
    --只要从user_info中找出虚拟币为(最高的6个虚拟币中的其中一个)的客户即可
    select * from user_info
    where money in (select top 6 money 
                    from user_info order by money desc
                   )--最活跃的6个人的虚拟币
      

  6.   


    --没看到楼主的表名
    --换了
    select * from mem
    where money in (select top 6 money 
                    from mem 
                    order by money desc
                   )--最活跃的6个人的虚拟币