如何在Oracle SQL中使用distinct创建子查询
我有以下两个运行良好的ORACLE SQL查询:如何在Oracle SQL中使用distinct创建子查询,sql,oracle,Sql,Oracle,我有以下两个运行良好的ORACLE SQL查询: SELECT COUNT(SEG_ID) INTO totalUniqueSegments FROM CAR_RENTAL_SERVICES; SELECT DISTINCT SEG_ID FROM CAR_RENTAL_SERVICES; 但我需要把它们结合起来。我希望我的计数只考虑唯一的SiguID.< /P> 这就是我尝试过的: SELECT COUNT(SEG_ID)INTO totalUniqueSegments FROM CAR_
SELECT COUNT(SEG_ID) INTO totalUniqueSegments FROM CAR_RENTAL_SERVICES;
SELECT DISTINCT SEG_ID FROM CAR_RENTAL_SERVICES;
但我需要把它们结合起来。我希望我的计数只考虑唯一的SiguID.< /P>
这就是我尝试过的:
SELECT COUNT(SEG_ID)INTO totalUniqueSegments FROM CAR_RENTAL_SERVICES WHERE SEG_ID IN (SELECT DISTINCT SEG_ID FROM CAR_RENTAL_SERVICES);
但是我得到了一个错误“缺少表达式”。应该很简单,但我不是很有经验。谢谢
编辑:将此计数(SEG_ID)更改为
,将此计数(SEG_ID)更改为
(带空格)。
现在的错误是“缺少表达式”请像这样尝试
SELECT COUNT(DISTINCT SEG_ID) FROM CAR_RENTAL_SERVICES;
如果要使用子查询演示相同的查询,请使用下面的查询
SELECT COUNT(*)
FROM(
SELECT DISTINCT seg_id
FROM car_rental_services
);
试着这样,
SELECT COUNT(DISTINCT SEG_ID) FROM CAR_RENTAL_SERVICES;
如果要使用子查询演示相同的查询,请使用下面的查询
SELECT COUNT(*)
FROM(
SELECT DISTINCT seg_id
FROM car_rental_services
);
可能是因为将
COUNT(SEG\u ID)
放入另一个表中而缺少了一个列名。可能是因为将COUNT(SEG\u ID)
放入另一个表中而缺少了一个列名。您的解决方案很好,而且很有效。但是,我需要演示如何在学校练习中使用子查询。在这种情况下是可能的还是我应该放弃这个想法?谢谢(我可以在任何情况下标记您的解决方案)@Princeslilly,请使用sub-query查找更新的答案。您的解决方案很棒,而且很有效。但是,我需要演示如何在学校练习中使用子查询。在这种情况下是可能的还是我应该放弃这个想法?谢谢(我可以在任何情况下标记您的解决方案)@Princeslilly,请使用子查询查找更新的答案。