MySQL子查询差异错误

爱mysql

大家好,我实际上是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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章