例如我有一张桌子
Student | Marks
A | 50
B | 60
C | 70
D | 80
我想要的是
Student | Marks | MaxMarks
A | 50 | 80
B | 60 | 80
C | 70 | 80
D | 80 | 80
我不想使用子查询/嵌套查询..
答案 0 :(得分:3)
您可以在不使用子查询的情况下以最疯狂的方式执行此操作:
select t.student, t.marks, max(t2.marks) as maxmarks
from table t cross join
table t2
group by t.student, t.marks;
这是一种更明智的方法:
select t.student, t.marks, t2.maxmarks
from table t cross join
(select max(t2.marks) as maxmarks from table t2) t2;