yhkn.net
当前位置:首页 >> sql只取一条重复数据 >>

sql只取一条重复数据

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

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 后面加 distinct取消重复select distinct info.dev_id,info.boot_time,info.off_time,cmd.CMD from dbo.TT_Dev_Command cmd,dbo.TT_Dev_Info info where info.dev_mac like '%'+ @mac +'%' and cmd.dev_id = (select dev_id from TT_Dev_Info where dev_mac like '%'+@mac+'%' group by Date)

设表为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)

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

在 字段B的前面加 DISTINCT 意为 去除重复数据

方法如下: select * from 你的表名 a where id=(select min(id) from 你的表名 whereitem_id=a.item_id) 在查询之前先把数据库表中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较 取所有相同的行的最小的一下,也可以取最大的

1、显示最大的select 名字,max(金额) 金额from 表group by 名字2、显示合计的select 名字,sum(金额) 金额from 表group by 名字

用SQL嵌套比较好,SQL也比较清楚,内层SQL,datepart(day,timestr)或convert 找到所有12月份,每个人提交日报的日期是每月的第几天,并生成一个字段,distinct确保只记录每天只保留一个 datepart(date,timestr)把每人的提交那一天找出来外层SQL统计每个人有几天:select username,count(*) from (select distinct username, datepart(dd,timestr) as userday from awhere datepart(mm,timestr)=12) group by username

select top 1 type from 表名 where owner_type='你的值' and player_id='你的值' order by type --desc

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