我必须得到所有job_titles和在那里工作的人的工资总和的清单......
我用这个得到了:
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;
Run Code Online (Sandbox Code Playgroud)
好的,但现在我得到同样的名单,但也考虑到城市......
它不起作用......:/
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;
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
你还需要由子句组添加这些列:j.job_title
,d.department_id
,l.city
SELECT..
FROM...
GROUP BY j.job_title, d.department_id, l.city
Run Code Online (Sandbox Code Playgroud)
GROUP BY
子句中必须包含非聚合列.