2013-04-18 3 views
0

테이블 :2 행은

enter image description here

나는 쓰기를 조회 할 새로운입니다. 이제 위의 표에서 2 행을 가져 오는 중 멈춰 있습니다. 데이터는 2 개의 다른 topic_id에 대해서만 내림차순으로 정렬됩니다. 세 번째로 다른 topic_id는 없습니다.

그래서 가장 최근의 날짜를 가진 각 topic_id에 대해 하나의 데이터 인 topic_id가 서로 다른 두 행만 검색하려고합니다.

결과는

enter image description here

sql fiddle

+0

귀하의 결과는 처음 두 개의 정확한 중복으로 3 행으로 보입니다. 그게 신중한가요? –

+0

그게 아니지만 .. 어쨌든 @sel 대답은 ​​내가 무엇을 찾고 있었는지 답장을위한 것입니다. – ntstha

답변

3

http://sqlfiddle.com/#!2/f37963/9

SELECT t1.* FROM temp t1 
     JOIN (SELECT question_id, MAX(`date`) as `date` FROM temp GROUP BY topic_id) t2 
     ON t1.question_id= t2.question_id AND t1.`date`= t2.`date`; 

논리는 각 그룹 (하위 쿼리)에서 최신 날짜를 찾아 테이블과 다시 결합하여 다른 세부 정보를 검색하는 것입니다.

1

사용을 시도 할 것이

$qry="SELECT * FROM table_name GROUP BY TOPIC_ID ORDER BY DATE desc"; 
+0

이 때문에 일하지 않을 것입니다 .. 나는 테이블의 모든 필드를 원합니다 – ntstha

+0

내가 당신을 도울 수있는 코드를 편집했습니다 –