大家好,我实际上是mysql的新手,..我编写了两种类型的代码,
select ID,
(select n.NAME from CUSTOMERS as n group by SALARY ) as m
from CUSTOMERS;
select ID,
from (select n.NAME from CUSTOMERS as n) as m
group by SALARY;
第一个按我的预期工作正常,但第二个却没有..它给我抛出类似的错误
Unknown column 'ID' in 'field list': select ID from (select NAME from CUSTOMERS ) as m group by SALARY
因此,问题是第二种方法可以在mysql中完成而实际上没有任何错误吗?
希望你们能帮帮我..Thx
您的第二个失败,因为您ID
从没有以下内容的子查询中请求列ID
:
select ID,
from (select n.NAME from CUSTOMERS as n) as m
group by SALARY;
它只有Name
。如果要在主查询中使用,则需要将ID
和都添加SALARY
到子查询中。
select ID,
from (select n.ID, n.SALARY from CUSTOMERS as n) as m
group by SALARY;
就像@Strawyberry指出的...这是胡说八道。您正在按不在您的SELECT子句中的字段分组……我不知道。您还对不需要子查询的内容进行子查询。做就是了:
select m.ID,
from CUSTOMERS as m
group by m.SALARY;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句