我在db oracle中有一个sql查询 我想输出最大值。 SQL查询包含唯一字段值
下面的SQL查询包含重复的行:
select
field1,field2,field3,field4,field5,field6,field7,field8,field9,MAX(field10) as field10
from(
select
field1,field2,field3,field4,field5,field6,field7,field8,field9,field10
from table
)tabl
GROUP BY field1,field2,field3,field4,field5,field6,field7,field8,field9
我更正了sql请求,但它不起作用 显示错误消息下面的SQL查询:ORA-00942表或视图不存在。
select
field1,field2,field3,field4,field5,field6,field7,field8,field9
,(SELECT MAX(field10) FROM tabl ) as field10
from(
select
field1,field2,field3,field4,field5,field6,field7,field8,field9,field10
from table
)tabl
我该如何解决? 谢谢你的帮助!
答案 0 :(得分:2)
首先,您的第一个查询无法重复,因为您要按所有列进行分组,并使用aggregate
剩余列的field10
函数。
现在回复你的错误。错误原因是,(SELECT MAX(field10) FROM tabl ) as field10
。因为tabl
是外部表的别名,并且您在select
子句中使用它,因此错误。
此外,您可以像下面一样进一步简化它,它也不会给你重复。
select
field1,field2,field3,field4,field5,field6,
field7,field8,field9,MAX(field10) as field10
from table
GROUP BY field1,field2,field3,field4,field5,field6,
field7,field8,field9