我有下表(raw_data):
trans_id,user_id,msg_code,record_time
给定一个时间范围(from_time,to_time),我想查询:为每个用户获取:获取每种类型的最后一个 msg_code。
更多解释:希望为每个用户接收唯一的 msg_code,以便每个这样的行都是每个用户的最后一个(record_time wise)
表示例(trans_id、user_id、msg_code、record_time):
1, 1, 100, 2013-06-03 08:32:51
2, 1, 100, 2013-06-03 09:32:51
3, 1, 101, 2013-06-03 08:32:51
4, 1, 102, 2013-06-03 10:32:51
5, 2, 100, 2013-06-03 06:32:51
6, 2, 100, 2013-06-03 07:32:51
7, 2, 100, 2013-06-03 08:32:51
结果示例:
2, 1, 100, 2013-06-03 09:32:51
3, 1, 101, 2013-06-03 08:32:51
4, 1, 102, 2013-06-03 10:32:51
7, 2, 100, 2013-06-03 08:32:51
徒劳的尝试(不工作..):
SELECT DISTINCT ON (user_id,msg_code)
*
FROM raw_data
ORDER BY user_id, msg_code ASC
- 如果有什么不清楚的请询问。
感谢您的帮助!