2016-09-09 5 views
-1

나는 서로 다른 상태의 레코드를 포함하는 MySQL 테이블을 가지고있다. 동일한 책은 여러 레코드가있을 수 있지만, 각 기록은 내가 681 또는 682 이것에 대한 SQL 쿼리를 작성 도와주세요 별 입찰가의 마지막 레코드를 선택하려면이특정 레코드에 대한 mysql 쿼리

id  bookname  bid 
------------------------ 
1  vb.net  681 
2  html   682 
3  vb.net  681 
4  vb.net  681 
5  html   682 

같은 동일한 고유 ID 즉 입찰 있습니다.

답변

2

각 입찰가의 최대 ID를 반환하는 하위 쿼리가 있어야합니다. 그 결과 가입 :

select t1.* 
from tablename t1 
join (select max(id) as maxid, bid 
     from tablename 
     group by bid) t2 on t1.id = t2.maxid 
+0

@jeroen,'JOIN'은'INNER JOIN'의 짧은 형태에 불과합니다. 전혀 차이가 없습니다. – jarlh

0

니스하지만 TABLENAME과 나를 위해 오류를 반환하지만,이 괜찮 았는데 : -

select t1.* 
from t1 
join (select max(id) as maxid, bid 
     from t1 
     group by bid) t2 on t1.id = t2.maxid 

어쩌면 다른 버전?

관련 문제