每个地区工人较少的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子句中使用。就我所知,在一个没有问题的房间里。