我有如下的表结构。我想根据office_id和最新的login_datetime选择不同的user_id。从子查询中选择不同顺序的列
tbl_id user_id office_id login_datetime
----------------------------------------
1 2 28 12/28/2012 5:35:50 AM
2 2 15 12/28/2012 5:35:50 AM
3 3 20 12/28/2012 5:35:50 AM
4 4 28 12/28/2012 5:35:50 AM
5 2 28 12/28/2012 5:35:50 AM
6 4 15 12/28/2012 5:35:50 AM
7 3 20 12/28/2012 5:35:50 AM
我想这样的:
SELECT user_id as u_id,office_id,
(select login_datetime from tbl t2 where t2.user_id=u_id AND ROWNUM=1 ORDER BY t2.tbl_id DESC) as LAST_LOGIN
FROM tbl
GROUP BY user_id,office_id
但是,它不是为我工作,任何帮助吗?
问题在于Oracle。 –
我不明白'WHERE office_id IN(SELECT DISTINCT office_id FROM @tbl)'Office_id已经在tbl中。 –
我已经改变我的查询到ORACLE并添加了一些解释...希望它会帮助 – Silagy