环境:oracle 9i
表名:tablename time mike 20100209-00:10:01:123
mike 20100209-00:02:01:234
mike 20100208-09:02:05:564
想得到结果:name time mike 20100209-00:10:01:123请教各位 查询语句应该如何写?
表名:tablename time mike 20100209-00:10:01:123
mike 20100209-00:02:01:234
mike 20100208-09:02:05:564
想得到结果:name time mike 20100209-00:10:01:123请教各位 查询语句应该如何写?
解决方案 »
- oracle中这几个表有什么关系?
- 如何得到oracle指定表空间的所有表名
- 如何实现两个Oracle数据库间用存储过程操作数据库表??
- 用exp导出一个用户后,如何用imp在别的数据库里导入该用户?要不要先创建该用户?
- !求高人帮助MSSQL过程转换成ORALCE过程
- 请教一个简单问题 请帮忙解答一下
- 数据库启动有问题。请各位帮帮忙啊!
- update ..... (比较更新)!
- 刚刚开始学习oracle 请高手们 推荐几本基础书。
- 关于decode()的高级用法???
- dba_data_files 和 v$datafile 区别
- 数据库自动提交方面问题。。标题要长。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
SELECT NAME,TIME
FROM table
WHERE (NAME,TIME) EXISTS
(SELECT NAME,MAX(TIME) FROM table GROUP BY NAME)
(select row_number () over ( partition by name order by time desc) rn,t.name,t.time from table t)
where rn=1;
(select row_number () over ( partition by name order by time desc) rn,t.name,t.time from table t)
where rn=1;
FROM table
WHERE (NAME,TIME) IN
(SELECT NAME,MAX(TIME) FROM table GROUP BY NAME)
不是EXISTS 是IN ,错 了,上面的
where not exists(
select 1 from table1 where name=t.name and time>t.time)
with tab as
(
select 'mike' name,
to_date('20100209 - 00:10:01', 'yyyyMMdd hh24:mi:ss') ttime
from dual
union all
select 'mike' name,
to_date('20100209 - 00:02:01', 'yyyyMMdd hh24:mi:ss') ttime
from dual
union all
select 'mike' name,
to_date('20100208 - 09:02:05', 'yyyyMMdd hh24:mi:ss') ttime
from dual
)
select name, max(ttime) from tab group by name