2013-11-24 2 views
0

어떤 사용자가 어떤 목록을 보았는지 기록하는 기본 테이블이 있습니다. 목록을 볼 때마다 "보기"테이블에 레코드가 저장되고 user_ID 및 list_ID가 저장되는 시간과 함께 저장됩니다.각 사용자로부터 마지막 ​​행을 (시간별로) 검색하는 방법

마지막으로 목록을 보았을 때 각 사용자에 대해 알고 싶고 어떤 목록인지 알고 싶습니다.

나는 다소 여기에서 붙어있다. 주문에 따라 최신 시간을 알 수 있지만 일부 사용자의 경우 여러 레코드가 제공됩니다.

어떻게 처리하나요?

http://sqlfiddle.com/#!2/39f41/4

답변

0

sqlFiddle

SELECT user_ID, list_ID, max(times) as times 
FROM views 
GROUP BY user_ID, list_ID; 

하거나 VIEW_ID뿐만 아니라 당신이 sqlFiddle

SELECT max(view_ID) as view_ID,user_ID, list_ID, max(times) as times 
FROM views 
GROUP BY user_ID, list_ID; 
을 사용할 수 있습니다 VIEW_ID 큰 VIEW_ID 항상 작은 것보다 나중에 될 것이라고 가정 반환하려는 경우
관련 문제