簡體   English   中英

有沒有一種優化/更好的方式來編寫此查詢?

[英]is there a optimized/better way to write this query?

我在下面的查詢中,想知道是否可以用更好的方式重寫它?

SELECT COL1, COL2 FROM TABLE1 WHERE ID = 1 and COL4 = 1415 AND COL3 IN 
(SELECT MAX(COL3) FROM TABLE1 WHERE PRI = ID = 1 and COL4 = 1415);

問題來自於以下事實:子查詢的where子句中的過濾器ID和Col4與主查詢中的過濾器相同。

您可以使用:

    SELECT COL1, COL2,MAX(COL3) as mx FROM TABLE1 WHERE ID = 1 
     and COL4 = 1415  having  mx=MAX(COL3);

這樣可以避免多余的子查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2025 STACKOOM.COM