clwn.net
当前位置:首页 >> sql中只取第一条数据 >>

sql中只取第一条数据

如果仅仅只是查询出来去从,那么就用distinctselect distinct 需要去重的列明(允许多列) from table如果是需要在表中删除,可以这样处理1、建立临时表,将重复记录查询出来去重插入到临时表2、删除实表中的重复记录3、将临时表中的记录插入到实表处理完成

设表为table1,字段为id int,name varchar(18)这样可以保留同名(重复的name)中最小id的记录delete table1 where exists(select 1 from table1 as a where a.id>table1.id and a.name=table1.name)

select No,Count,max(Time) as Timefrom 表group by No,Count

1、SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,仅仅列出不同(distinct)的值.关键词 DISTINCT 用于返回唯一不同的值.语法: SELECT DISTINCT 列名称 FROM 表名称 使用 DISTINCT 关键词 SELECT DISTINCT Company FROM Orders2、子查询限制返回结果 SELECT * FROM TestData WHERE id IN ( --根据Data分类获取数据最小ID列表 select min(id) from TestData group by Data )

Select * from table minusSelect * from table where rownum =1;这个貌似只有oracle可以用~不过你可以试试看

通过group by 分组,它会自动将学号分出然后通过in语句就行了.

select count(*) from (select count(*) from 表1 aleft join 表2 b on a.字段1=b.字段1left join 表3 c on a.字段1=c.字段1group by 字段1 orderby c.字段2 desc) as abcd limit 1

在oracle用户环境变量里 添加一行:stty erase ^h

如果是没有规律的取值,那么是没有实际意义的,如果是为了找字段的取值范围,那么可以通过升序和降序查询两次,在作为一个结果输出实现.sql:select * from(select top 1 * from tblname order by id desc) union (select top 1 * from tblname order by id asc); 解释:先降序查询出第一条记录,然后在升序查询出第一条记录,之后将结果作为两条数据输出.

既然数据都重复,就时间不同,那就取max(时间)就行了吧select 重复数据的列名1,重复数据的列名2,.,max(时间列) from table group by 重复数据的列名1,重复数据的列名2,.

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com