2013-06-18 12 views

回答

0
SELECT * FROM table_1 t 
WHERE value = (SELECT MAX(value) FROM table_1 s WHERE t.id = s.id) 
AND t.id = 900 

其他例子的結果。

看到它工作在sqlfiddle住。

+0

此查詢爲我提供所有列 – PSR

+0

@PSR確定沒有複製和粘貼錯誤?試用一個sqlfiddle(見更新的答案)。完美地爲我工作,我可以看到沒有錯誤。 – fancyPants

+0

對不起。這是我的錯誤 – PSR

1

中使用自己的查詢,但在where子句中選擇想要......這可以通過如果你想獲得的數據使用SELECT MAX()語句

select b.id , b.value,b.name 
from table_1 b 
where b.id = 900 and 
b.value = (
    select max(a.value) from table_1 a where a.id = 900 group by a.id 
) 
+0

+1感謝您的幫助 – PSR

1

要做的價值最大ID,試試這個:

SELECT a.id, a.value, a.name 
    FROM table_1 a 
    WHERE NOT EXISTS (SELECT * FROM table_1 b WHERE a.id < b.id) 
+0

+1感謝您的幫助 – PSR

1

試試這個,

select * 
from Table1 t1 
where t1.value=(select MAX(value) 
       from Table1 t2 
       where t1.id=t2.id) 
AND t1.id=900; 

SQLFiddle Demo

+0

+1感謝您的幫助 – PSR