Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个地区工人较少的SQL健身房_Sql_Count_Max_Minimum - Fatal编程技术网

每个地区工人较少的SQL健身房

每个地区工人较少的SQL健身房,sql,count,max,minimum,Sql,Count,Max,Minimum,我正在努力寻找如何对本地数据库中的一组表进行特定查询 CREATE TABLE Gym ( eid INT PRIMARY KEY, name VARCHAR(127) UNIQUE, district VARCHAR(127), area INT); CREATE TABLE Trainer ( id INT PRIMARY KEY, name VARCHAR(127), birth_year INT, year_credentials_expiry INT ); CREATE TABLE

我正在努力寻找如何对本地数据库中的一组表进行特定查询

CREATE TABLE Gym (
eid INT PRIMARY KEY,
name VARCHAR(127) UNIQUE,
district VARCHAR(127),
area INT);

CREATE TABLE Trainer (
id INT PRIMARY KEY,
name VARCHAR(127),
birth_year INT,
year_credentials_expiry INT
);

CREATE TABLE Works (
eid INT,
id INT,
since INT,
FOREIGN KEY (eid) REFERENCES Gym (eid),
FOREIGN KEY (id) REFERENCES Trainer (id),
PRIMARY KEY (eid,id));
问题是:我有几个健身房,有时两个或两个以上的健身房位于同一地区。我怎么知道,按地区划分,哪个健身房的教练更少? 我唯一能得到的就是每个健身房的教练人数。考虑到这一点,我只能让所有地区的最低限度的训练员去健身房

注意:我不允许在SELECT中使用SELECT子查询;从的内部选择


提前感谢您。

如果您可以在where或having clause中进行子查询,那么您可以通过这种方式进行处理

首先看看你的查询,它按地区统计培训师的数量

现在,编写一个查询,将其作为一个子查询,用于计算一个地区健身房的最低培训师人数

接下来,接受第一个查询,添加having子句,并按地区和培训师数量将其与第二个查询关联起来

这确实在子查询中使用子查询,但它位于having子句中。我不是在为您编写查询,因为您需要自己学习如何进行查询


顺便说一句,如果您有窗口/分析功能,可能还有其他解决方案。

查看group\u By,可能还有order\u By和limit。为什么不允许使用子查询?这是家庭作业的一部分吗?@GordonLinoff是的,我设法解决了所有其他问题,但由于这是最后一个问题,这更具挑战性,我真的需要一些帮助。例如,我不知道如何在没有子查询或CTE的单次查询中做到这一点。如果允许的话,我可以在where子句中使用子查询。或者,就一个地区而言。@GordonLinoff是的。它不仅允许在SELECT和FROM子句中使用。就我所知,在一个没有问题的房间里。