我得到这个错误:消息147,15级,状态1,第3行聚合不能出现在where子句中,除非它出现在having子句或select列表中包含的子查询中,并且被聚合的列是外部引用。
ovfsdjhp1#
使用 TOP :
TOP
select top (1) name from student s order by grant desc;
上面的语句总是返回一行,即使最高授予有并列关系。如果需要所有这些行,可以添加 with ties 修饰语:
with ties
select top (1) with ties name from student s order by grant desc;
djmepvbi2#
您可以使用:
SELECT [name] FROM [student] WHERE [grant] = (SELECT max([grant]) FROM [student])
0kjbasz63#
如果只有一个学生有最高补助金,则以下代码可能是正确的:
如果您有两个或两个以上的学生获得相同的助学金,您应填写以下内容:
select * from ( select id, name, Dens_Rank() over (order by grant desc) student_rank )temp where temp.student_rank=1
yruzcnhs4#
请在下面查询-从rownum<2 order by grant desc的学生中选择*;
4条答案
按热度按时间ovfsdjhp1#
使用
TOP
:上面的语句总是返回一行,即使最高授予有并列关系。如果需要所有这些行,可以添加
with ties
修饰语:djmepvbi2#
您可以使用:
0kjbasz63#
如果只有一个学生有最高补助金,则以下代码可能是正确的:
如果您有两个或两个以上的学生获得相同的助学金,您应填写以下内容:
yruzcnhs4#
请在下面查询-
从rownum<2 order by grant desc的学生中选择*;