数据库架构如下所示
employee(雇员姓名,街道,城市)
works(雇员_姓名,公司_名称,薪金)
company(公司名称,城市)
manages(雇员姓名,经理姓名)
需要执行的查询是:
查找员工最多的公司。
我可以通过查询找到最大计数:
SELECT max( cnt ) max_cnt
FROM (
SELECT count( employee_name ) cnt, company_name
FROM works
GROUP BY company_name
)w1;
但现在我找不到公司的名字,如果有人有什么想法,请分享。
8条答案
按热度按时间qlzsbp2j1#
要获取包含最大值的整行,可以使用
ORDER BY ... DESC LIMIT 1
代替MAX
:hgc7kmma2#
比如说:
编辑:
针对MySQL更正了上述内容
vaj7vani3#
9rbhqvlz4#
pdsfdshx5#
以下是工作查询
cigdeys36#
这看起来像是一个课程问题。
如果多个公司拥有相同的最大员工数,则使用LIMIT查询将无法工作。“ORDER BY”无法过滤掉无用的信息。因此,我们有以下解决方案
bjg7j2ky7#
kuuvgm7e8#
在Oracle中