在Sql中使用唯一

在Sql中使用唯一,sql,Sql,我编写了一个“查找恰好进行了一次预订的SID”查询,其中包含一个groupby和的子句,如下所示: SELECT R.sid FROM Sailors S, Reserve R WHERE R.sid = S.sid GROUP BY R.sid HAVING Count(R.sid) = 1 但是我还想通过使用unique命令来查找它。我朋友问我,但我解决不了。我们不使用分组方式。我们用独特的方法解决它。我试过了,但解决不了。你能帮我吗?选择“唯一”不

我编写了一个“查找恰好进行了一次预订的SID”查询,其中包含一个
groupby
子句,如下所示:

SELECT
  R.sid 
FROM
  Sailors S,
  Reserve R 
WHERE  
  R.sid = S.sid 
GROUP BY 
  R.sid 
HAVING 
  Count(R.sid) = 1

但是我还想通过使用
unique
命令来查找它。我朋友问我,但我解决不了。我们不使用分组方式。我们用独特的方法解决它。我试过了,但解决不了。你能帮我吗?

选择“唯一”
不符合你的要求。在Oracle中,它与
选择DISTINCT
相同。它找不到唯一的行。它将删除重复项


您必须使用
分组方式。。。拥有…

您的意思是独特而非独特?独特的意思与旧版Oracle上的不同相同,但在大多数DBMS中,它不作为查询构造存在,仅在CREATE/ALTER TABLE语句中用作约束。DISTINCT不会帮助你回答这个问题,因为它只会返回一个条目,而你的GROUPBY/have会混淆它的返回,认为所有至少有一个预订的海员只有一个预订,而实际上他们可能有很多预订。你的问题很好。