Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询中的avg-mysql_Mysql_Sql_Aggregate Functions - Fatal编程技术网

查询中的avg-mysql

查询中的avg-mysql,mysql,sql,aggregate-functions,Mysql,Sql,Aggregate Functions,我有这个疑问 SELECT salary FROM worker W JOIN single_user U ON u.users_id_user = W.single_user_users_id_user JOIN university_has_single_user US ON US.single_user_users_id_user = U.users_id_user JOIN course C ON C.id_course = US.course_id_

我有这个疑问

  SELECT salary
    FROM worker W
    JOIN single_user U ON u.users_id_user = W.single_user_users_id_user
    JOIN university_has_single_user US ON US.single_user_users_id_user = U.users_id_user
    JOIN course C ON C.id_course = US.course_id_course
    JOIN formation_area FA ON FA.id_formation_area = C.formation_area_id_formation_area
   WHERE FA.area = "Multimédia"
GROUP BY users_id_user
…产生了以下输出:

salary
--------
1400.00
800.00
如何计算此输出的平均值?如果我加上:

SELECT round(avg (salary), 0) 
…输出再次为1400.00和800.00,而不是平均值(因为分组依据)。

使用:

 SELECT AVG(DISTINCT salary)
   FROM worker W
   JOIN single_user U ON u.users_id_user = W.single_user_users_id_user
   JOIN university_has_single_user US ON US.single_user_users_id_user = U.users_id_user
   JOIN course C ON C.id_course = US.course_id_course
   JOIN formation_area FA ON FA.id_formation_area = C.formation_area_id_formation_area
  WHERE FA.area = "Multimédia"
因为
salary
列未包装在聚合中


通常,您需要一个派生表来获得不同值的平均值。

我遇到的问题是,例如,一个人有两门课程,工资重复两次。现在很好,但是对于不同的人也可以有相同的薪水。。我的问题是-是否需要在那里放置不同的文件???