使用Group by和Having子句的示例子句

时间:2018-02-05 10:09:17

标签: oracle

我正在尝试使用Group by和Having子句使用Sample子句。 我的要求是获得一个只有一条记录的公司ID,我尝试了很多方法,这是我尝试过的方法之一。

With TESTA AS(
select TA.COMPANY_ID from(
select t1.COMPANY_ID from Table11 t1
where t1.COMPANY_ID in (select t2.COMPANY_ID from Table22 t2) 
group by t1.COMPANY_ID having count(t1.COMPANY_ID)=1)TA )
select * FROM TESTA Sample(1);

当我执行上述查询时,它抛出以下错误。

  

ORA-01446:无法从DISTINCT中选择ROWID或对其进行采样,   GROUP BY等   01446. 00000 - "无法从DISTINCT,GROUP BY等视图中选择ROWID或采样。"   *原因:
  *操作:

但是,当我执行以下查询时,我得到的结果却不满足我的要求。

select COMPANY_ID from Table11  Sample(10) 
where COMPANY_ID in (select company_id from Table22 )
Group by COMPANY_ID HAVING Count(COMPANY_ID)=1

它正在执行所有可能的记录,有人可以帮我解决这个问题。

0 个答案:

没有答案