我在这个子查询中有一个语法错误,我似乎无法弄清楚它为什么不起作用。所有的括号匹配sqlite子查询语法错误
select min(max_s)
from
(select max(salary) from instructor group by dept_name)
as s(max_s);
Error: near "(": syntax error
我在这个子查询中有一个语法错误,我似乎无法弄清楚它为什么不起作用。所有的括号匹配sqlite子查询语法错误
select min(max_s)
from
(select max(salary) from instructor group by dept_name)
as s(max_s);
Error: near "(": syntax error
用途:
SELECT MIN(x.max_s)
FROM (SELECT MAX(i.salary) AS max_s
FROM INSTRUCTOR i
GROUP BY i.dept_name) x
的问题是在AS s(max_s)
表的别名,它看起来并不完全正确。例如:您应该在子查询中为列名添加别名,例如:
select min(s.max_s)
from
(select max(salary) as max_s from instructor group by dept_name)
as s
不要在表别名之后放置parens。
我不明白为什么你的答案下半年将是真实的。我试图在按部门分组后找到最小值,然后查找该组的最大值。 – 2010-09-29 00:36:32
@ controlfreak123:对不起,我误读了。我通常在输出中包含我正在分组的列,以查看附加值的含义,因此我没有仔细阅读并假定内部查询将仅返回一行/记录。 – 2010-09-29 00:40:03
这相当好。我还注意到,我可以忽略x别名,因为它知道max_s在子查询中。 – 2010-09-29 01:14:33