2017-08-10 73 views
-6
使用子查詢
 date   value 
    18/5/2010  40 
    18/5/2010  20 
    20/5/2010  60 
    18/5/2010  30 
    17/5/2010  10 
    16/5/2010  40 
    18/5/2010  60 
    18/5/2010  25 

輸出SQL - 如何選擇具有最高值的列行沒有在甲骨文

date   value 
18/5/2010  60 
20/5/2010  60 

我需要查詢其最大(值)(即60行)。所以,在這裏我們得到兩行。
日期可以以任意順序

PLZ不使用SUBQUERY

我需要一個動態查詢,而無需使用子查詢

嵌套查詢將被罰款......

我曾嘗試使用rownum ...凡rownum < some_value ...但它不是動態的

+1

你試過使用MAX嗎? [這裏](https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions085.htm)是一個鏈接,如果你不熟悉,它可以幫助你入門。 – Aaron

+0

這是一個笑話嗎?我已經這樣做了。現在使用子查詢我希望它通過單個或嵌套查詢解決仔細閱讀它....所以最大分區由我高壓做邏輯... – mayank

+3

另外,你養成了一個習慣侮辱正試圖幫助你的人?這一般如何解決? – APC

回答

0

在12c FETCH子句允許你這樣做

select * from the_table 
order by value desc 
FETCH FIRST 1 ROWS WITH TIES; 
+1

這隻在Oracle 12中有效。 –

+0

嗯,我沒有使用12c ...但是,至少你謝謝你回覆了☺你的邏輯很強大...而我之所以不想嵌套查詢,是因爲我要獲取更多80000行+8列,所以已經有外部查詢,我已經做了使用子查詢,所以它不是一個有效的方式,並採取了很多時間來執行.... – mayank

+1

@mayank所有這一切本來是好的把在你的問題中,而不是對答案的評論。 – SandPiper