如何簡明的組織乙個SQL,包含聚合函式與判斷取值

2025-05-26 13:20:04 字數 1048 閱讀 7792

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...