2013-11-24 3 views
0

У меня есть базовая таблица, в которой хранятся записи о том, какой пользователь просматривал список. Каждый раз, когда просматривается список, запись сохраняется в таблице «views», сохраняя идентификаторы 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 вернулся, а также и при условии, что больше view_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; 
Смежные вопросы