ari*_*eet 1 mysql sql database rdbms
给定关系模式:
Emp(e_name,街道,城市)
Works_for(e_name,company_name,salary)
公司(company_name,city)
管理(e_name,manager_name)
查询:找到最多没有员工的公司.
我的尝试:
SELECT company_name, max(count(e_name))
FROM Works_for
GROUP BY company_name
Run Code Online (Sandbox Code Playgroud)
^这会产生错误:不是单个组组功能.对此有什么正确的查询?
谢谢您的帮助!
由于您需要最大的表格,您可以使用ORDER BY ... DESC LIMIT 1:
SELECT company_name, COUNT(e_name) AS cnt
FROM Works_for
GROUP BY company_name
ORDER BY cnt DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
更新
没有使用LIMIT它不是那么令人愉快:
SELECT MAX(company_name)
FROM
(
SELECT company_name AS company_name
FROM Works_for
GROUP BY company_name
HAVING COUNT(*) = (
SELECT MAX(cnt) FROM
(
SELECT COUNT(e_name) AS cnt
FROM Works_for
GROUP BY company_name
) T1
)
) T2
Run Code Online (Sandbox Code Playgroud)