学生  成绩
小王  65
小张  80
小李  72
小赵  93排名在第3名的成绩是72,如何用1条语句把它找出来?

解决方案 »

  1.   

    select * from (
    select *,(select count(*) from ttqj where 成绩>=a.成绩) as dd from ttqj a ) b
    where dd=3
      

  2.   

    2楼的朋友,where 成绩>=a.成绩,这里有问题啊,我不知道成绩是多少,我要找的就是成绩。找第三名的成绩。
      

  3.   

    or
    select * from ttqj order by 成绩 desc limit 2,1select * from ttqj order by 成绩 limit 1,1
      

  4.   

    select * from table where 成绩 = (select min(成绩) from (select 成绩 from table order by 成绩 desc limit 3) tmp)
      

  5.   

    1表结构
     CREATE TABLE `t2` (                     
              `s1` char(10) NOT NULL,               
              `s2` decimal(6,2) default NULL,       
              PRIMARY KEY  (`s1`),                  
              KEY `s2` (`s2`)                     
            );
    2数据
    insert into t2 values
    ('小王' ,65),
    ('小张'  ,80),
    ('小李'  ,72),
    ('小赵'  ,93);
    3你要的sql语句
    select s2 from t2 order by s2 desc limit 2,1;
      

  6.   

    谢谢楼上各位,我明白了。 limit 2,1这个管用。呵呵其他朋友不要跟帖了,我明天来散分。这个帖子要求1天后才能给分。