首页 新闻 会员 周边 捐助

如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录

0
[已解决问题] 解决于 2009-06-15 15:24

如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录

问题补充: 我这样写select 字段名 from 表名 where 字段名 in(select 字段名 from 表名 group by 字段名 having count(字段名)>1)读取的是所有重复数据,如何随机只读取重复数据其中一条数据?不用distinct关键字,在where后面带条件,我的分页存储过程写好的,在不用重新写分页存储过程的条件下,带where条件下,实现此条件
月月的主页 月月 | 初学一级 | 园豆:200
提问于:2009-06-15 14:36
< >
分享
最佳答案
0

 

select * from 你的表名 a where id=(select min(id) from 你的表名 where name=a.name)

思想是在查询之前先把数据库表textTable中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较
取所有相同的行的最小的一下,也可以取最大的,结果是一样的。这样让所有的行都比较不就得到不重复的数据了吗。

 

你看看这样吧http://space.cnblogs.com/question/7346/

苏飞 | 老鸟四级 |园豆:2024 | 2009-06-15 15:16
其他回答(2)
0

建议自己先尝试写一下,然后去Google,网上随便都可以搜到,这样更好

winzheng | 园豆:8797 (大侠五级) | 2009-06-15 14:42
0

SELECT TOP 1 *

FROM dbo.T1

WHERE

F1 IN (SELECT F1 FROM dbo. T1 GROUP BY F1 HAVING COUNT(F1) > 1)

只是提供个思路,可以把上面的SQL再优化一下,速度会更好些的。

 

Leox | 园豆:461 (菜鸟二级) | 2009-06-15 14:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册