SQL Server 2000中的row_number和分区选项?

时间:2014-09-23 06:52:41

标签: sql sql-server-2000 row-number

这是我的表Student_Grade

id  StudentName subcode,Grade StdId
-----------------------------------
1   pinky         1     A   1
2   Archana       2     A   1
3   leena         1     A   1
4   leena         2     A   1
5   leena         3     B   1
6   Rupali        1     A   2
7   Megha         1     A   2
8   smita         1     A   1

等级是从A到DI想要在同一个等级相同时只显示一次记录,无论是什么是子代码和学名。对于特定的子代码,适当的学生名称来自stid和等级specidy。如果等级不同为相同的stid,显示两个记录。我想在这里展示

我申请了row_numer()

在SQL Server 2005中正常工作在SQL Server 2000中不起作用。2000年怎么办?

查询是:

SELECT 
    StdId, SubCode, Studentname, Grade, subjectname
FROM   
    (SELECT 
        StdId, SubCode, Studentname, Grade, 
        Subjects.subjectname as subjectname,
        Row_number() OVER(PARTITION BY cast(StdId as varchar) +' - '+ Grade ORDER BY SubCode desc,Studentname desc) rn
     FROM   
        Student_Grade
     INNER JOIN 
        Subjects ON Subjects.id = Student_Grade.SubCode) t
WHERE  
    rn = 1

结果:

stdid subcode Studentname Grade SubjectName
1       2     leena       A     Marathi
1       3    leena         B    Hindi
2      1     Rupali        A    English

0 个答案:

没有答案