sqlserver怎么查重

sqlserver怎么查重

问:使用sql server 怎么查重复数据
  1. 答:1、最直观的思路:要知道所有名字有重复人资料,首先必须知道哪个名字重复了:
    select name from emp group by name having count(*)>1
    所有名字重复人的记录是:
    select * from emp
    where name in (select name from emp group by name having count(*)>1)
    2、稍微再聪明一点,就会想到,如果对每个名字都和原表进行比较,大于2个人名字与这条记录相同的就是合格的 ,就有:
    select * from emp
    where (select count(*) from emp e where e.name=emp.name) >1
  2. 答:SELECT *,
    count(*) C
    FROM 表明
    GROUP BY 字段
    ORDER C DESC
问:sqlserver有多个字段有重复值,怎么筛选出来
  1. 答:oracle select * from 表名 where rowid in(select distinct rowid, count(1) over(partition by 可能存在重复值的字段) from 表名 where count(1) over(partition by 可能存在重复值的字段) > 1)
问:sqlserver怎么去掉重复的数据
  1. 答:select distinct * into #tmp from s2
    drop table s2
    select * into s2 from #tmp
    drop table #tmp
    利用临时表删除重复数据
问:sql 怎么根据条件进行去重
  1. 答:userId: user id
    url: url visited by the user
    SELECT userId, COUNT(DISTINCT url)
    FROM tab
    GROUP BY userId
    ORDER BY COUNT(DISTINCT url) DESC
问:SQLserver 中在select多个表时,可能会有多个重复的值,怎么样能去掉重复的值呢?
  1. 答:没太弄明白,用 full outer join on试试。
  2. 答:用inner join 联接
  3. 答:直接使用自然表示法~~~.全部列出来
    比如 SLECT 表.列名 ....
    把要查的全列出来就OK了~~
sqlserver怎么查重
下载Doc文档

猜你喜欢