mysql - sql中的平均函数在 View 中不起作用

标签 mysql sql

我想从包含字段(emp_code、emp_name、salary、Dept_code)的表名 Employee 创建一个 View

create view dept_avg_salary as select dept_code , avg(salary) as average 
   from employee 
   group by dept_code

虽然上面的查询运行良好,但是在average列中,每一行都存储了相同的值9999.9999。但是如果我运行查询

select dept_code ,  avg(salary) as average 
    from employee 
    group by dept_code

效果很好。 有人可以帮我吗

最佳答案

我无法复制这个结果(除非所有工资都相同)。考虑提供适当的 DDL,以便我们可以了解您的表是如何构建的...

CREATE TABLE employee(emp_code INT NOT NULL AUTO_INCREMENT PRIMARY KEY, emp_name VARCHAR(12) NOT NULL, salary INT NOT NULL, Dept_code CHAR(1) NOT NULL);

INSERT INTO employee VALUES
(1,'John',1000,'A'),
(2,'Paul',2000,'B'),
(3,'George',1000,'B'),
(4,'Ringo',3000,'A');

SELECT dept_code , AVG(salary) average FROM employee GROUP BY dept_code;
+-----------+-----------+
| dept_code | average   |
+-----------+-----------+
| A         | 2000.0000 |
| B         | 1500.0000 |
+-----------+-----------+

CREATE VIEW dept_avg_salary AS 
SELECT dept_code
     , AVG(salary) average 
  FROM employee 
 GROUP 
    BY dept_code;

SELECT * FROM dept_avg_salary;
+-----------+-----------+
| dept_code | average   |
+-----------+-----------+
| A         | 2000.0000 |
| B         | 1500.0000 |
+-----------+-----------+    

关于mysql - sql中的平均函数在 View 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855781/

相关文章:

python - 将平面查询结果转换为更定义的表结构

PHP PDO SQL 语法错误

mysql - Yii2多表网格数据(选择多表记录)

php - jQuery 数据表 MySQL 日期到 PHP 日期

sql - oracle中如何合并一组记录?

sql - 是否可以在 SQL Server 中的 where 或 having 子句中使用自定义字段?

mysql - 获取今天在两列之间的记录

sql - 如何从 sql server 将数据导入 mongodb?

sql - SQL查询中日期为空时如何提取最大日期

mysql - 同时使用分组列和非分组列