Sql 比较同一表中的记录

Sql 比较同一表中的记录,sql,sybase,Sql,Sybase,我有以下结构的学生表 Student_Note Table student_id seq_num note 11212 1 firstnote 11212 2 secondNote 11212 3 thirdNote 21232 1 secondstudentnote1 21232 2 secondstudentnote

我有以下结构的学生表

 Student_Note  Table 
  student_id  seq_num  note 
  11212         1       firstnote
  11212         2       secondNote 
  11212         3       thirdNote
  21232         1       secondstudentnote1
  21232         2       secondstudentnote2
诸如此类

我想为一个特殊的学生得到最新的笔记(序号最大)

我试过以下的问题

  select tn.note from Student_Note tn   JOIN Student_Note tn1
            ON (tn.student_id =tn1.student_id AND  tn.seq_num < tn1.seq_num)
             where tn.student_id=11212
从学生笔记tn中选择tn.note加入学生笔记tn1
打开(tn.student_id=tn1.student_id和tn.seq_num
它给出了不止一行。如何实现上述场景

我忘了提到我正在使用上面的查询作为子查询。根据sybase,TOP子句在子查询中不起作用


另外,我正在使用sybase。

正常-更改为显然无法使用TOP

select tn.note from Student_Note tn   
where tn.student_id=11212
and tn.seq_num = (SELECT MAX(seq_num) from Student_Note WHERE Student_Note.Student_Id = tn.Student_Id)
请试试这个

select      substring(max(str(seq_num,10,'0') + note),11,len(note))
from        Student_Note 
where       student_id=11212

我在子查询中使用,因此在sybase TOP中无法在子查询中使用。