关于分组的一个SQL语句 select * from tbname where col2 in(select min(col2) from tbname group by col1); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select a,b from (select a,b ,rank() over (partition by a order by rowid ) rank from tbl ) t where rank=1 Tobzszp(www.bzszp.533.net) 这个样子只有一笔记录了 可是min(col2)是对col2中求text中最小的值, 001 C812FF53-EC23-4D35-B8FE-8188CA86E971 001 EFF17B54-77CB-48D7-9D1D-966674B0E9AC 001 72E969FC-3B6A-449F-9168-446C330C9FBD 002 E74F0E3D-A5A7-409E-BB98-A1361AFEC605 002 7FD6F870-7728-4973-A512-7CBA47A06CE2 003 25E308C9-D63A-4190-8686-46C87547C5BF 003 35E508C9-D63A-4190-8686-46C87547C5BF 004 40FBAB26-CAC4-4171-B848-4E2C36FF0B91这个记录是按照时间排序号的。 必须要有其他的字段来决定是每个id的第一列. 比如最小的时间等,要么就用rowid来解决. 你要按先后是吗?就是下面这句了,直接抄去!select * from tbname where rowid in(select min(rowid) from tbname group by col1); 上面的是对的,要用 rowid 列 建议在设计表的时候加上另外的字段来区别,因为UPDATE等操作后会改变行的一些属性. 100分求解:通过jdbc连接池访问外部db第一次检索速度特慢 PL/SQL导入dmp文件,数据没进去 这个触发器该怎么写,高手请进 oracle case when 查询 如何删除oracle中的数据库 如何取表中第一行的时与最后一个时间相减,急,请教专家 菜鸟的一个特简单sql execute immediate 的问题. 数据库不可更改 请问查询longrow的字段 用selectblob语句可以吗 关于在存储过程中使用事务的问题,请高手指教! Oracle9建临时表不在Temp表空间中,而在CWMLITE中?
from tbl ) t where rank=1
这个样子只有一笔记录了
001 C812FF53-EC23-4D35-B8FE-8188CA86E971
001 EFF17B54-77CB-48D7-9D1D-966674B0E9AC
001 72E969FC-3B6A-449F-9168-446C330C9FBD
002 E74F0E3D-A5A7-409E-BB98-A1361AFEC605
002 7FD6F870-7728-4973-A512-7CBA47A06CE2
003 25E308C9-D63A-4190-8686-46C87547C5BF
003 35E508C9-D63A-4190-8686-46C87547C5BF
004 40FBAB26-CAC4-4171-B848-4E2C36FF0B91
这个记录是按照时间排序号的。
select min(rowid) from tbname group by col1);