2015-09-04 64 views
-1

我有一個簡單的數據是這樣的:選擇與條件SQL表中最後一個值

enter image description here

現在我想曾經有USER_ID = 41和最高價最新的數據,輸出是這樣的:

enter image description here

我怎麼用SQL命令行來做到這一點?

感謝閱讀

+0

是你的輸出是正確的,因爲你是在說USER_ID = 41,但輸出顯示42甚至2倍。 –

+0

您的條件和您的示例輸出不匹配 –

+0

如果我能夠理解您的要求,可能是我的第二個查詢滿足您的輸出要求。 –

回答

2

嘗試此查詢

select User_id,auction_id,price from tablename where price in(select price from tablename where id in(select max(id) from tablename group by user_id)) 
+0

哦!非常感謝你 !工作! – Thanhtu150

0

如果已經更新輸出錯誤,然後嘗試按你提供的條件 -

select user_id,auction_id,price 
from mytable 
where user_id=41 
order by auction_id; 

但如果按你的輸出你想要的user_id 1個最新行= 41,然後最高價的所有行,那麼你可以嘗試一下它 -

SELECT user_id,auction_id,price 
FROM mytable 
WHERE user_id=41 
ORDER BY id DESC LIMIT 1 
UNION 
SELECT b.user_id,b.auction_id,price 
FROM mytable b 
JOIN (
SELECT MAX(price) AS price 
FROM mytable 
) a ON a.price=b.price; 
0

根據你的輸出,你想試試這個:

select user_id,auction_id,price 
from table_name 
where user_id=41 
order by id desc; 
相關問題