Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Oracle SQL中使用distinct创建子查询_Sql_Oracle - Fatal编程技术网

如何在Oracle SQL中使用distinct创建子查询

如何在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_

我有以下两个运行良好的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_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,请使用子查询查找更新的答案。