2017-04-13 105 views
-1

我有一個表格,我想選擇只有兩行使用「極限2」,在這兩行我想應用「CASE」MAX和MIN之間的結果(2線)。MYSQL - 最大和最小值與極限

但它是選擇所有行並在所有行中應用「CASE」。

我該如何僅適用於這兩個結果?

謝謝。

Table: 

     user | offer 
     1 | 10 
     1 | 10 
     2 | 20 
     2 | 20 


    Query: 

     SELECT (case when max(offer) = min(offer)    
       then 'true'    
       else 'false'   
      end) as info 
     FROM user 
     ORDER BY offer DESC 
     LIMIT 2 

Result that I want to have: 

result = true 
+0

我試了一下寫了一個答案,但後來我意識到我不明白你的描述你試圖用這個查詢來完成什麼。我認爲你需要更充分地解釋。 –

+0

@BillKarwin我想選擇最後兩行(LIMIT 2),並只比較這兩行的MAX和MIN,並給出TRUE爲FALSE。 –

+0

這可能會返回你想要的結果:'當count(distinct offer)= 1 then'true'else'false'時選擇case(從選擇報價限制2的用戶訂單中選擇offer)''。 –

回答

1

您需要在子查詢中採用該限制來滿足您的要求。

SELECT (case when max(offer) = min(offer)    
       then 'true'    
       else 'false'   
      end) as info 
    From (Select * FROM user 
     ORDER BY offer DESC 
     LIMIT 2) 
+0

非常感謝你的幫助。它給我想要的結果。謝謝。 –