[SQL ] 如何消除重複出現的 expression
想請問一下在 query 裡,
重複出現多次的 expression 有什麼方法可以消除嗎?
舉例來說:
select t.a+t.b
from t
where t.a+t.b < 10 and ...
order by t.a+t.b
在這 query 裡頭,t.a+t.b 共出現了三次,
但每一個都會有同樣的結果。
我的問題是:
1. 有什麼方法可以消除重複的 expression 出現在 query?
2. 現今的 DBMS 面臨上述的 query 時,相同的 expression 會被計算多次嗎?
我自己是在使用 mysql 上有這樣的需求,
但如果有其他 DBMS 特有的解決方式,我也很有興趣了解,
謝謝。
--
◤ ◥ ◢ ◣
T$,修好它吧。 ⊙▁⊙─ ─⊙▂⊙ 碰到問題,用SoftICE就對了!
╰ ∕皿﹨ ◥皿◤ ╯
◥█◤◢ ◥ ︶◤
Lee ◤ ︶ ◥◤ ﹨▼∕◥ T$ Chen
MYTHBUGTERS ◥ ◤\◥ by dajidali
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.78.231
→
12/29 06:48, , 1F
12/29 06:48, 1F
請問是類似這樣子嗎?
select absum
from(
select t.a+t.b as absum
from t
where ...
) as q
where absum < 10
order by absum
確實有達到需求! 謝謝
※ 編輯: tkcn 來自: 140.114.78.231 (12/29 08:45)