带有子查询的Oracle单组功能错误

时间:2018-12-24 08:52:10

标签: sql oracle oracle11g count subquery

我需要帮助

我想执行类似的查询

library( tidyverse )
foo.df %>% 
  mutate( text = str_extract_all( text, '(?<=[\\s]xx).*?(?=xx[\\s])' ) ) %>%
  unnest() %>%
  select( text, user )

#   text    user
# 1 this person1
# 2 test person1
# 3  are person2
# 4 want person3

错误:

  

ORA-00937:不是单组分组功能

OK查找Oracle文档...复制运行时异常日志

有解决方案吗?

2 个答案:

答案 0 :(得分:3)

我会避免在SELECT语句中进行子查询;他们很少做的事情,可能会导致性能下降,并且通常可以重写为

select count(*), t2.email
from table1 t1 join table2 t2 on t2.id = t.1.id
group by t2.email

答案 1 :(得分:0)

您似乎想要:

SELECT (SELECT COUNT(*) FROM TABLE1 t1 WHERE t1.ID = x.ID),
       (SELECT COUNT(DISTINCT t2.EMAIL) FROM TABLE2 t2 WHERE t2.ID = x.ID)
FROM (SELECT 1 as ID FROM DUAL) x