我有一个这样的表,其中Student(id,attempt)数据如下所示:
| ID|尝试|
| --|--|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
我想找到学生的最高尝试例如:student 1在他的第三次尝试中通过了考试
最终输出必须像
| ID|尝试|
| --|--|
| 1 | 4 |
| 2 | 2 |
我不想使用where,group by,因为我正在创建一个视图,并且将连接多个表
INNER JOIN (SELECT id, MAX(attempts)as MaxCreated
FROM SHRTCKG
GROUP BY id, attempts) u
ON x.id = u.attempts
AND x.id = u.attempts)
字符串
5条答案
按热度按时间4urapxun1#
您正在查找每个ID的最大尝试次数,并显示按ID排序的结果?这是最基本的聚合:
字符串
kiayqfof2#
这里是使用SQL Server的查询。这基本上是每个id的最大尝试值。
字符串
vof42yt13#
如果你不想使用WHERE和GROUP BY(虽然不知道为什么),那么解决方案可以是MODEL子句(带Distinct):
字符串
代码如下:
型
... ...这是什么?
型
qvtsj1bj4#
你可以像这样使用标量子查询:
字符串
icnyk63a5#
如果不能使用
GROUP BY
,我们可以使用窗口函数MAX()
:字符串
Demo here