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

bvjxkvbb  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(396)

我需要能够找到使用sql查询信息,但我不知道如何做到这一点。目标是为所有只飞行过一次但不超过一次的飞行员命名。下面是我需要从中提取的“pilot”和“flies”表的模式数据。
飞行员(pilotid:integer,firstname:varchar(32),lastname:varchar(32),birthdate:date,address:varchar(128),email:varchar(32),phonenumber:char(10),gender:char(1),salary:integer,hireddate:date,rating:integer)
主键:pilotid
苍蝇(pilotid:integer,tripid:integer)
外键:pilotid references pilots(pilotid)
外键:tripid引用trips(tripid)
主键:(pilotid,tripid)
我试过的是:
选择p.firstname、p.lastname、p.phonenumber
从飞行员p,飞f
其中count(f.pilotid)=1,f.pilotid=p.pilotid;
但我什么都没得到,有什么想法吗?

bjp0bcyl

bjp0bcyl1#

您的查询缺少 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

相关问题