这句SQL如何写?好难啊
这句SQL怎么写?好难啊!
select top 4 * from (select * from (select top 5 tq.query_keys from tab_query_log tq where tq.query_person = ‘ lisi ’ group by tq.query_keys order by count(tq.query_keys) desc ) t1 cross join (select distinct tr.url, tr.txt, tr.keys from tab_reads_log tr) t2 ) t
where CHARINDEX(' ' + t.query_keys, t.keys, 1) > 0 or CHARINDEX(t.query_keys + ' ', t.keys, 1) > 0 ;
这句SQL转化为Oracle语句怎么写?我写了每次都报错,下面是我写的:
select t5.* from (select * from ( select * from
(select t4.* from (select tq.query_keys from tab_query_log tq where tq.query_person = 'lisi' group by tq.query_keys order by count(tq.query_keys) desc) t1 ) t4 where rownum <= '5' cross join (select distinct tr.url, tr.txt, tr.keys from tab_reads_log tr) t2 ) t where instr(' ' + t.query_keys,t.keys, 1) > 0 or instr(t.query_keys + ' ', t.keys, 1) > 0 )t5 where rownum <= '2';
分数全部给了,分数不多,求牛人帮我看一下 谢谢!
------解决方案--------------------
select top 4 * from (select * from (select top 5 tq.query_keys from tab_query_log tq where tq.query_person = ‘ lisi ’ group by tq.query_keys order by count(tq.query_keys) desc ) t1 cross join (select distinct tr.url, tr.txt, tr.keys from tab_reads_log tr) t2 ) t
where CHARINDEX(' ' + t.query_keys, t.keys, 1) > 0 or CHARINDEX(t.query_keys + ' ', t.keys, 1) > 0 ;
这句SQL转化为Oracle语句怎么写?我写了每次都报错,下面是我写的:
select t5.* from (select * from ( select * from
(select t4.* from (select tq.query_keys from tab_query_log tq where tq.query_person = 'lisi' group by tq.query_keys order by count(tq.query_keys) desc) t1 ) t4 where rownum <= '5' cross join (select distinct tr.url, tr.txt, tr.keys from tab_reads_log tr) t2 ) t where instr(' ' + t.query_keys,t.keys, 1) > 0 or instr(t.query_keys + ' ', t.keys, 1) > 0 )t5 where rownum <= '2';
分数全部给了,分数不多,求牛人帮我看一下 谢谢!
------解决方案--------------------
SELECT * FROM (
SELECT query_keys FROM (
SELECT query_keys, ROW_NUMBER() OVER(ORDER BY cnt DESC) rn FROM (
SELECT query_keys,COUNT(query_keys) cnt FROM tab_query_log tq WHERE query_person = 'lisi' GROUP BY query_keys)
)
WHERE rn <= 5 ) T1,
(select distinct tr.url, tr.txt, tr.keys from tab_reads_log tr) T2
WHERE (INSTR(T2.keys,' '
------解决方案--------------------
T1.query_keys) > 0 OR INSTR(T2.keys,T1.query_keys
------解决方案--------------------
' ') > 0)
AND ROWNUM <= 4;