1樓:網友
select ,,from
select b,sum(c) as c from table group by b) a,select a,b from table where (substr(a,-1) = 'a') b
where--to lz---
你執行a和b兩個查詢大概用多長時間?
如果這兩個子查詢很快的話,建議在b欄位建立索引。
對了,還有乙個問題,substr當用的時候,會使索引失效,你的(substr(a,-1) = 'a' 可以改成 a like '%a',反正都是乙個意思。
還有其他where條件的話,你可以考慮有索引的條件放在前邊,如果是因為資料量太大的話造成查詢速度慢,確實好辦法不多,但是可以考慮用到分割槽,但是好像又不太值得。
先用強制索引試驗一下吧。
表就是當前子查詢的表,索引就是能用到的索引,譬如第乙個子查詢裡用欄位b上的索引,第二個子查詢用欄位a上的索引。
select ,,from
select /*+ index(表名,索引名) */ b,sum(c) as c from table group by b) a,select /*+ index(表名,索引名) */ a,b from table where a like = '%a') b
where
2樓:賓士
select * from
select a,b,sum(c)over(partition by b order by a asc) as c from 表名) where substr(a,-1) <'a';
test@ora1] sql>select * from test3;a b c
111a 22 1
333a 33 3
test@ora1] sql>select * from2 (select a,b,sum(c)over(partition by b order by a asc) as c from test3) where substr(a,-1) <'a';a b c
以上,希望對你有所幫助。
乙個SQL裡的問題,sql語句的問題?
樓主試試這樣的辦法是否可行 先自己定義兩個函式,lower rank s1,s2 和higher rank s1,s2 分別可以返回資料s1和s2中 較小 和 較大 的值 指按某種規則比較,排位靠前和靠後的 然後用。select distinct concat lower rank 列1,列2 hi...
如何組織青年志願者協會,如何組織乙個青年志願者協會
不知道您是學校的 還是社會的,志願者協會是有團委組織的,下屬於市團委的,具體到當地市團委領取申請表,然後考察何時等手續就可以的了,你具體參照當地的規定。請問你的想法實現了麼 我也有這個問題 青年志願者協會是個什麼組織?都做什麼工作?中國青年志願者協會成立於1994年12月5日,是由志願從事社會公益事...
求簡單的sql語句,求乙個簡單的sql語句
這個不用sql語句,如果一定要在資料庫判斷的話就用觸發器判斷create trigger 觸發器名 on 表名instead of insertas if select 1 from inserted where 某欄位 kkkk 1 在此判斷 begin insert into 表名 select...