http://blog.csdn.net/acmain_chm/article/details/4126306
我是根据在上面的贴子写的这个
create table Table1(
id int primary key,
sName varchar(20),
clsNo varchar(20),
score double
);
select *
from Table1 a join (select DISTINCT score,clsNo from Table1 where ClsNo=a.ClsNo and score>a.score limit 2) b
on a.clsNo=b.clsNo and a.score=b.score
我想查询出课程分前两名学生的信息(允许分数相同),请问哪儿错了
Unknown column 'a.ClsNo' in 'where clause'  没看懂这个错

解决方案 »

  1.   

    ClsNo没这个列  大小写注意
      

  2.   

    参考下贴中的多种方法http://blog.csdn.net/acmain_chm/article/details/4126306
    [征集]分组取最大N条记录方法征集,及散分....
      

  3.   

    select *
    from Table1 a join (select DISTINCT score,clsNo from Table1 where clsNo=a.clsNo and score>a.score limit 2) b
    on a.clsNo=b.clsNo and a.score=b.score
             select 子句中  a.ClsNo 和 a.score都找不到,而下面
    select *
    from Table1 a
    where 2>(select count(*) from Table1 where clsNo=a.clsNo and Score>a.Score)
    order by a.ClsNo,a.Score desc 
    这句话能执行,没有大小写的区别