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

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

image.png

阅读 1.9k
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. ,
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题