Unknown column '年龄' in 'having clause'
建表语句
CREATE TABLE 基本信息表(
学号 CHAR(20) PRIMARY KEY,
姓名 VARCHAR(255) NOT NULL,
年龄 INT,
性别 CHAR(2) NOT NULL
);
查询语句
SELECT 姓名
FROM 基本信息表
WHERE 性别='女'
GROUP BY 学号
HAVING 年龄>(
SELECT AVG(年龄)
FROM 基本信息表
);
报错:Unknown column '年龄' in 'having clause'
请问是为什么呢
你是要查大于平均年龄的?那就这样
SELECT 姓名
FROM 基本信息表
WHERE 性别='女'
GROUP BY 学号
HAVING AVG(年龄) >(
SELECT AVG(年龄)
FROM 基本信息表
);
jiyugpt
在你的查询语句中,你使用了HAVING子句来筛选年龄大于平均年龄的记录。然而,报错"Unknown column '年龄' in 'having clause'"意味着在HAVING子句中无法找到"年龄"这个列名。
这个问题可能是由于以下几种原因导致的:
列名错误:请确保你在建表语句中正确地命名了"年龄"这一列,并且没有拼写错误或其他语法错误。
表名错误:确认你的查询语句中使用的表名"基本信息表"与建表语句中的表名一致。
数据库连接错误:如果你在执行查询语句之前没有成功连接到数据库或者选择了错误的数据库,那么会导致找不到列名。