select top ... from tab order by col 可以改写成 select * from (select ... from tab order by col) where rownum<=行数;CHARINDEX函数用instr()来改写自己花点时间改一下,毕竟这是你的工作,别人不能替你领工资
一,String sql = "select top " + num + " user_code, user_name, count(query_id) query_num from (select distinct query_id, query_person from " + db_table_name + ") t1, tab_bases_user t2 where t1.query_person = t2.user_code group by user_code, user_name order by query_num desc "; 改成String sql = "select t.* from (" || "select user_code, user_name, count(query_id) query_num from (select distinct query_id, query_person from " || db_table_name || ") t1, tab_bases_user t2 where t1.query_person = t2.user_code group by user_code, user_name order by query_num desc ) t where rownum <= " || to_string(num); PLSQL中拼接字符串用||
额,忘了变量赋值应该用:=String sql := "select t.* from (" || "select user_code, user_name, count(query_id) query_num from (select distinct query_id, query_person from " || db_table_name || ") t1, tab_bases_user t2 where t1.query_person = t2.user_code group by user_code, user_name order by query_num desc ) t where rownum <= " || to_string(num);
可以改写成
select * from (select ... from tab order by col) where rownum<=行数;CHARINDEX函数用instr()来改写自己花点时间改一下,毕竟这是你的工作,别人不能替你领工资
"select user_code, user_name, count(query_id) query_num from (select distinct query_id, query_person from " ||
db_table_name || ") t1, tab_bases_user t2 where t1.query_person = t2.user_code group by user_code, user_name order by query_num desc ) t where rownum <= " || to_string(num); PLSQL中拼接字符串用||
"select user_code, user_name, count(query_id) query_num from (select distinct query_id, query_person from " ||
db_table_name || ") t1, tab_bases_user t2 where t1.query_person = t2.user_code group by user_code, user_name order by query_num desc ) t where rownum <= " || to_string(num);