[SQL ] 如何消除重複出現的 expression

看板Database作者 (小安)時間15年前 (2010/12/28 20:56), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
想請問一下在 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
可以用 subquery, 不過MySQL有時不會對subquery做最佳化
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)
文章代碼(AID): #1D6TvzcK (Database)