gpt4 book ai didi

mysql - 如何解决这两个查询?

转载 作者:行者123 更新时间:2023-11-29 13:37:44 25 4
gpt4 key购买 nike

我是 SQL 新手,并且有一项家庭作业。我做对了所有问题,但仍然无法弄清楚这两个问题,所以如果可以的话请帮忙。我预先感谢您。

我有四张 table :

EMPLOYEE which conatin the attributes (Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno)

Table DEPARTMENT have the columns ( Dname, Dnumber, Mgr_ssn, Mgr_start_date)

Table PROJECT have the columns ( Pname, Pnumber, Plocation, Dnum)

Table DEPENDENT (Essn, Dependent_name, Sex, Bdate, Relationship)

Q1。对于控制项目数量最多的部门,请列出其名称?我提出了这个查询,但它仍然只给我每个部门控制了多少个项目,但无法让它工作,因为只给了我最多的一个:(

SELECT Dname, COUNT(distinct Pnumber) as NumberOfProjects
FROM Department, Project
WHERE Dnum = Dnumber
GROUP BY Dname;

第二季度。检索比任何其他员工拥有更多家属的员工的姓名和 Ssn?

我想出了这个,但不知道为什么它不起作用。我不断收到错误

SELECT Fname, Lname, Ssn
FROM Employee
WHERE max((SELECT COUNT(*)
FROM Dependent
WHERE Ssn = Essn));

顺便说一句,我正在使用 MySql WorkBench 5.2,并且该语言仅允许使用 SQL

最佳答案

对于您的第一个查询,如果您已经拥有所有部门的列表及其控制的项目数量,那么您已经完成了工作。在您的查询中添加一些额外的代码来完成这项工作。

如果您按项目数量降序排序,则正确的部门将位于列表中的第一个。如果您 LIMIT 1,您将只选择该部门。

<小时/>您的第二个查询需要更多工作,它不能像第一个查询那样清晰地提供您正在查找的信息。同样的方法,先把信息按顺序取出来,然后再找最上面的。您的内部查询可能应如下所示:

(SELECT Essn, COUNT(Dependent_name) AS Dependents
FROM Dependent
GROUP BY Essn
ORDER BY Dependents DESC);

关于mysql - 如何解决这两个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544653/

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