繁体   English   中英

如何根据条目出现的次数在 SQL 中查找结果

[英]How to find results in SQL based on how many times an entry shows up

我需要能够使用 SQL 查询来查找信息,但我不确定该怎么做。 目标是获取所有只飞行过一次且不超过一次的飞行员的名字。 下面是我需要从中提取的“pilot”和“flies”表的模式数据。

飞行员(飞行员 ID:integer,名字:varchar(32),姓氏:varchar(32),出生日期:日期,地址:varchar(128),Email:varchar(32),电话号码:char(10),性别:char(1 ), Salary: integer, HiredDate: date, Rating: integer)
主键:PilotID

苍蝇(PilotID:integer,TripID:整数)
外键:PilotID 引用 pilots(PilotID)
外键:TripID 引用 trips(TripID)
主键:(PilotID,TripID)

我试过的是:
select p.FirstName, p.LastName, p.PhoneNumber
来自飞行员 p,苍蝇 f
其中 count(f.PilotID) = 1 和 f.PilotID = p.PilotID;

但我没有得到任何回报,有什么想法吗?

您的查询缺少group by子句,您需要一个having子句来过滤聚合函数,例如count()

select p.FirstName, p.LastName, p.PhoneNumber
from pilots p
inner join flies f on f.PilotID = p.PilotID
group by p.PilotID, p.FirstName, p.LastName, p.PhoneNumber
having count(*) = 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM