Mysql 为什么赢了';这个SQL字符串不能工作吗?
我必须得到一份所有职位的名单和在那里工作的人的工资总额 我用这个得到了:Mysql 为什么赢了';这个SQL字符串不能工作吗?,mysql,sql,oracle,join,Mysql,Sql,Oracle,Join,我必须得到一份所有职位的名单和在那里工作的人的工资总额 我用这个得到了: SELECT j.job_title, SUM(e.salary) FROM jobs j LEFT JOIN employees e ON e.job_id = j.job_id GROUP BY j.job_title; 好吧,但现在我要得到同样的名单,但也考虑到这个城市 它不起作用…:/ SELECT j.job_title, SUM(e.salary), d.department_id, l.city FROM
SELECT j.job_title, SUM(e.salary)
FROM jobs j LEFT JOIN employees e ON e.job_id = j.job_id
GROUP BY j.job_title;
好吧,但现在我要得到同样的名单,但也考虑到这个城市
它不起作用…:/
SELECT j.job_title, SUM(e.salary), d.department_id, l.city
FROM departments d LEFT JOIN employees e ON e.department_id = d.department_id LEFT JOIN locations l
ON l.location_id = d.location_id LEFT JOIN jobs j ON e.job_id = j.job_id
GROUP BY l.city;
为什么会这样 我认为你只需按部门id和职位进行分组即可:
GROUP BY j.job_title, d.department_id, l.city;
我认为你只需按部门id和职务进行分组:
GROUP BY j.job_title, d.department_id, l.city;
您需要按非聚合列进行分组
...
group by job_title, department_id, city
您还可以通过以下方式使用组中的列位置:
group by 1, 3, 4
您需要按非聚合列进行分组
...
group by job_title, department_id, city
您还可以通过以下方式使用组中的列位置:
group by 1, 3, 4
您还需要在group by子句中添加以下列:
j.job\u title
,d.department\u id
,l.city
SELECT..
FROM...
GROUP BY j.job_title, d.department_id, l.city
非聚合列必须包含在分组依据子句中。您还需要在分组依据子句中添加这些列:
j.job\u title
,d.department\u id
,l.city
SELECT..
FROM...
GROUP BY j.job_title, d.department_id, l.city
非聚合列必须包含在
GROUP BY
子句中。您仅按l.city分组,但在select语句中,您使用的是j.job_title,d.department_id,因此为了获取这些值,您必须使用
group by job_title, department_id, city
您仅按l.city分组,但在select语句中,您使用的是j.job\u title、d.department\u id,因此为了获取这些值,您必须使用
group by job_title, department_id, city
你的最后一句话对mysql一般来说是不正确的,但对这个是正确的case@Bohemian如果通过将
ONLY\u FULL\u GROUP\u BY
模式变量添加到SQL\u mode
system variable.Cool中来防止GROUP BY子句的默认行为,则为真。谢谢你的信息-我不知道那面旗帜。Cheers+1它现在显示的是无意义的东西:S但是谢谢,现在的问题是关于sql本身而不是分组。@user1880778帮助我们解决问题的最好方法是添加示例记录,并希望得到您的问题的结果:D
您的最后一句话对于mysql通常不正确,但是对于这个case@Bohemian如果通过将ONLY\u FULL\u GROUP\u BY
模式变量添加到SQL\u mode
system variable.Cool中来防止GROUP BY子句的默认行为,则为真。谢谢你的信息-我不知道那面旗帜。Cheers+1它现在显示的是无意义的东西:S但是谢谢,现在的问题是关于sql本身而不是分组。@user1880778帮助我们解决问题的最好方法是添加示例记录,并希望得到您的问题的结果<代码>:D也许你可以尝试内部连接
。也许你可以尝试内部连接
。