gpt4 book ai didi

MySQL - 使用 JOIN 和 WHERE 确定平均小时数

转载 作者:行者123 更新时间:2023-12-04 10:46:39 25 4
gpt4 key购买 nike

我正在使用 next.tech course 学习 MySQL依赖于 following schema :



我目前的任务是找到一个特定项目的平均工作小时数:小时数在 下。 project_employees 数据库,而项目名称 (Washington Avenue Barber) 在 下项目数据库。

我尝试使用 JOIN 和 WHERE 函数如下尝试并返回平均工作小时数:

SELECT AVG(hours) FROM project_employees
WHERE name = 'Washington Avenue Barber'
JOIN projects
ON project_employees.employee_id = projects.id;

但是,我收到以下错误:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'JOIN projects ON project_employees.employee_id = projects.id' at line 3



我尝试了许多不同的函数来尝试获得正确的结果,但是只有以下返回一个值并且它是不正确的(它应该返回 381.115555,但下面的代码返回 743.300003):
SELECT AVG(hours) FROM project_employees
JOIN projects
ON project_employees.employee_id = projects.id
WHERE name = 'Washington Avenue Barber';

最佳答案

SQL 查询的语法似乎是第一个错误背后的主要问题。

你在做什么SELECT-FROM-WHERE-JOIN ,但实际顺序应该是 SELECT-FROM-JOIN-WHERE .

您的第二个查询(返回错误值)具有正确的语法,这就是它返回某些内容的原因。

其次,你应该比较projects.idproject_employees.project_id ,不是 project_employees.employee_id .因此,您的查询应该类似于 -

SELECT AVG(hours) FROM project_employees
JOIN projects
ON project_employees.project_id = projects.id
WHERE name = 'Washington Avenue Barber';

关于MySQL - 使用 JOIN 和 WHERE 确定平均小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59675589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com