数据表结构如下:
userid  int
gameid  int
money   double我想取每个gameid下对应money金额排名前100的userid,sql应该怎么写呢?

解决方案 »

  1.   

    参考下贴中的多种方法http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
    [征集]分组取最大N条记录方法征集,及散分....
      

  2.   

    其中的一种解法如下。select gameid,userid
    from 数据表结构如下 a
    where 100 > (select count(*) from 数据表结构如下 where gameid=a.gameid and money>a.money)
      

  3.   

    贴建表及插入记录的SQL,及要求结果出来看看
    select * from tt a where 100<(select count(*) from tt where a.gameid=gameid and a.money<money)