表 a
id user_id login_time ip ..(还有字段)
1 user_001 2001-10-10 127.0.0.1
2 user_001 2001-10-10 127.0.0.1
3 user_002 2001-1-10 127.0.0.1
4 user_002 2001-1-10 127.0.0.1如上。 是用户登录信息的表结构。需要找出每个用户最后一次登录的时间。用户名,ip等等。用select user_id max(longi_time) from a group by user_id;
这样只能够查出用户名啊,我还需要ip等其他信息。
应该如何写。ps 不要想什么可以用两个字段保存登录时间,一个上次登录时间一个本次登录时间。
现在表结构已经这样了。求大侠
id user_id login_time ip ..(还有字段)
1 user_001 2001-10-10 127.0.0.1
2 user_001 2001-10-10 127.0.0.1
3 user_002 2001-1-10 127.0.0.1
4 user_002 2001-1-10 127.0.0.1如上。 是用户登录信息的表结构。需要找出每个用户最后一次登录的时间。用户名,ip等等。用select user_id max(longi_time) from a group by user_id;
这样只能够查出用户名啊,我还需要ip等其他信息。
应该如何写。ps 不要想什么可以用两个字段保存登录时间,一个上次登录时间一个本次登录时间。
现在表结构已经这样了。求大侠
解决方案 »
- 帮忙介绍下PRO C编程
- 再问一个有难度的SQL语句,A,B列相差超过20,并且连续3条以上的数据
- 求个sql语句写法,新手求学。
- 怎样用SQL语句查询表中是否有某类型的字段
- 更新主键时的update触发器
- ORACLE10g安装时如何选字符集?如果安装完毕如何改字符集(即将UTF8改为ZHS16GBK)?
- 在线等待:为什么服务管理器中出现了listenerlistenser?
- 奇怪了select * from all_tables能够看到这个表名,但是select * from 表名却说表不存在
- 请问temp临时表空间没有释放,表空间的大小一直在增长是怎么回事?
- 高分求购一个存储过程
- 【在线请教】如何通过pl/sql简单实现把excel表数据批量导入Oracle中已创建的表?
- 高手请进:导入dmp 文件时提示ora-12547错误
from tablet a
where not exists (select 1 from tablet b where a.user_id=b.user_id and b.login_time>a.login_time)
--1、
select id ,user_id, login_time ,ip,......
from tab a
where not exists (select 1 from tab b where a.user_id=b.user_id and b.login_time>a.login_time)--2、分析函数
select id ,user_id, login_time ,ip,......
from(
select a.*,row_number()over(partition by a.user_id order by a.login_time desc ) rn from tab a
)
where rn=1
FROM (SELECT A.USER_ID,
IP,
ROW_NUMBER() OVER(PARTITION BY A.USER_ID ORDER BY LOGIN_TIME DESC NULLS LAST) AS RN
FROM A) B
WHERE B.RN = 1;
这么查吧