oracle数据结构如下,一共有5万条数据,如何快速(5秒内)查出出现次数最多的前三个姓名?

在oracle中写的sql,查询太慢了,需要30多秒,放到java后台中处理也很慢,有什么好方法吗?

image.png

阅读 2k
1 个回答

select tt.name, count(1) (
select REGEXP_SUBSTR('t.name','1+', 1,1, 'i') name from user t
union
select REGEXP_SUBSTR('t.name','1+', 1,2, 'i') name from user t)
tt


  1. ,
推荐问题