id name address time
1 a dadsa 2008-10-10 12:12:12
2 a dasdas 2008-10-10 12:12:13
3 a asda 2008-10-10 12:12:14
4 b asd 2008-10-10 12:12:15
5 c asd 2008-10-10 12:12:16
6 e asd 2008-10-10 12:12:17
7 e asd 2008-10-10 12:12:18
8 d asd 2008-10-10 12:12:19
9 d asd 2008-10-10 12:12:10
查找 name相同情况下 时间最大的那条数据 sql语句是怎么写的??结果应该是 id=3 , id=4 , id=5 , id=7 ,id=8的这几条数据
谢谢
1 a dadsa 2008-10-10 12:12:12
2 a dasdas 2008-10-10 12:12:13
3 a asda 2008-10-10 12:12:14
4 b asd 2008-10-10 12:12:15
5 c asd 2008-10-10 12:12:16
6 e asd 2008-10-10 12:12:17
7 e asd 2008-10-10 12:12:18
8 d asd 2008-10-10 12:12:19
9 d asd 2008-10-10 12:12:10
查找 name相同情况下 时间最大的那条数据 sql语句是怎么写的??结果应该是 id=3 , id=4 , id=5 , id=7 ,id=8的这几条数据
谢谢
解决方案 »
- windows XP 下导入oracle,报ORA-12560: TNS: 协议适配器错误
- 一个关于pl/sql连接的问题
- 请问如何在Oracle触发器里调用一个外部Java程序?
- PL/SQL是做什么的?
- firebird的sql中注释该怎么写
- 創建 Oracle Trigger 時出錯??When Instering ……
- 请问如何在存储过程中调用sql*loader
- 从数据库取指定记录数的sql语句?
- oracle性能优化问题??
- 简单问题。关于游标的问题。来着有分,帮着up同样有分。
- oracle10g建立表空间、数据库、用户的问题
- 在WINDOW2000 advance server +sp4 安装oracle 10g
from (select t.*,
row_number() over(partition by name order by time desc) rn
from test t)
where rn = 1
(select name,max(time) time from table group by name ) tt
where tt.name =name and tt.time =time
SQL> SELECT *
2 FROM TABLE_NAME T1
3 WHERE NOT EXISTS (SELECT 1
4 FROM TABLE_NAME T2
5 WHERE T1.NAME = T2.NAME
6 AND T1.TIME < T2.TIME); ID NAME ADDRESS TIME
---------- ---- ------- -----------
3 A ASDA 2008-10-10 12:12:14
4 B ASD 2008-10-10 12:12:15
5 C ASD 2008-10-10 12:12:16
7 E ASD 2008-10-10 12:12:18
8 D ASD 2008-10-10 12:12:19
select id, name, address, time
from (select t.*,
rank() over(partition by name order by time desc) rn
from test t)
where rn = 1