Student Table
SID Name
1 A
2 B
3 C
Marks Table
id mark subject
1 50 physics
2 40 biology
1 50 chemistry
3 30 mathematics
SELECT distinct(std.id),std.name,m.mark, row_number() over() as rownum FROM
student std JOIN marks m ON std.id=m.id AND m.mark=50
即使在使用 disticnt 之后,这个结果也是 A 的 2 倍。我的预期结果将只有一个 A。如果我将 row_number() over() 删除为 rownum,它的工作正常。为什么会这样?如何解决。上午使用 DB2!