0
SELECT title, retail, (SELECT AVG(retail)
FROM books)
FROM books
WHERE retail < (SELECT AVG(retail)
FROM books)
有沒有辦法將(選擇AVG(零售) 從書籍中的一個)縮短爲別名?如何避免在oracle中重複?
SELECT title, retail, (SELECT AVG(retail)
FROM books)
FROM books
WHERE retail < (SELECT AVG(retail)
FROM books)
有沒有辦法將(選擇AVG(零售) 從書籍中的一個)縮短爲別名?如何避免在oracle中重複?
試試這個:
SELECT *
FROM (
SELECT title, retail, AVG(retail) OVER() avg_retail
FROM books
)
WHERE retail < avg_retail
,或者使用WITH:
WITH dat AS
(
SELECT title, retail, AVG(retail) OVER() avg_retail
FROM books
)
SELECT *
FROM dat
WHERE retail < avg_retail
,你可以用WITH
條款重構,也許是這樣的:
With avg_retail as
(SELECT AVG(retail) the_avg
FROM books)
SELECT title, retail, avg_retail.the_avg
from books, avg_retail
where books.retail < avg_retail.the_avg;
我試圖找到(http://www.oracle.com/pls/db102/search?word=over&tab_id=15&partno=)的解釋,是否有直接鏈接或者可能是一個解釋? – user490735 2011-04-14 21:36:05
選中此項:http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/analysis.htm#i1006928 – Chandu 2011-04-14 21:38:29