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;

第一个按我的预期工作正常,但第二个没有..它抛出了类似的错误

“字段列表”中的未知列“ID”:从(从 CUSTOMERS 中选择 NAME)中选择 ID 作为 m 组(按薪水)

所以问题是第二种方法可以在mysql中完成而实际上没有任何错误吗?

希望你们能帮助我..Thx

最佳答案

您的第二个失败,因为您从没有 ID 的子查询请求列 ID:

select ID,
from (select n.NAME from CUSTOMERS as n) as m
group by SALARY;

它只有名称。如果您希望在主查询中使用 IDSALARY ,则需要将它们添加到子查询中。

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;

关于Mysql子查询差异错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26678778/

相关文章:

mysql - Protractor :sql 查询中的 webdriverjs 命令看不到元素

mysql - sphinx 的性能比 MySQL 默认的全文搜索高多少?

mysql - 'fantasy football' 数据库中结果表的正确数据库结构

mysql - 用户 'homestead' @'localhost' 的访问被拒绝

php - 自定义 WordPress 发布查询

MySQL:用户访问和数据库覆盖

php - 数据库表自定义命名约定 Laravel Eloquent

java - Android Mysql从表中获取特定数据

php - MySQLi 的 fetch_row 问题

mysql - 当number为负数时,存0(mysql)