2012-10-29 2 views
2

정기적으로 정보를 수집하는 테이블이 데이터베이스에 있습니다. 각 행에 대해 일련 번호 열 (SN)과 날짜 열 (ReadDate)과 8 개의 채널 열 (ch1-ch8)이 있습니다. 하나의 쿼리에서 각 serialnumber에 대한 최신 채널 값을 모두 가져 오려고합니다. 지금 내 쿼리는 모든 일련 번호에 대한 모든 채널을 가져옵니다. 유일한 문제는 내가 최신 값을 얻지 못한다는 것입니다. 첫 번째 행을 잡는 것 같습니다.하나의 쿼리에서 여러 개의 키에 대한 MySQL의 최신 행

난 내가 일련 번호의 각각의 최신 채널 값을 얻기 위해해야 ​​할 일에 sqlfiddle http://sqlfiddle.com/#!2/313cf/2

모든 아이디어를 위로하는 것을 시도하고있는 무슨의 예를 뒀다?

답변

2
SELECT a.* 
FROM dials a INNER JOIN 
     (
      SELECT SN, MAX(RealReadDate) maxDate 
      FROM dials 
      GROUP BY SN 
     ) b ON a.SN = b.SN AND 
       a.RealReadDate = b.maxDATE 

SQLFiddle Demo

+0

최고, 감사합니다! 그랬어! –

관련 문제