如果得到所有值不重复。
select cc from tablename group by cc
或
select distinct cc form tablename
如果得到没有重复的所有制,
select cc from tablename group by cc
minus
select cc
from(
select cc,count() from tablename group by cc having count()>1) A
sql 查询不重复的记录 可以使用 having count group by 组合
先把不重复数据的id查询出来 通过count()计算 只有数目为1的才是不重复的数据
select b from table b where bid in(select aid from table a group by aname having count(aid) <2)//其中 name重复的数据的列名
你可以在插入之前,先到数据库里面查询一下是不是有重复。设置一个变量,可以设置一个数字型的,select
count()
into
:变量
from
表
where
=
你插入的记录的主键值
(不知道c#这个语法怎么写,大体就是这个意思,把数据库里面主键和你插入相等的条数取出来),如果是0,就表示没有符合条件的记录,你可以执行插入,否则大于0(肯定是1),不执行。
SQL数据重复分几种情况,一种是原数据重复,第二种是粒度重复,第三种是分布重复。
原数据重复的情况,你直接可以distinct掉,例如,学生表当中有两个重复的学号,你想取出不重复的,直接可以写:select
distinct
学号
from
学生表
第二种是查询粒度重复,比如你有一张表是存储区域的,分别为省、市、县三列。而你需要的是只查找不同的省市,则也可以使用distinct:select
distinct
省,市
from
区域
第三种则是分布重复,比如在join
的时候,左右两个表格存在一对多的关系,造成的重复,或者在聚合之后出现了维度重复,则这种相对来说比较麻烦,你需要在子查询中统计或查找出唯一值,然后再去关联,或者是按照一定的数据需求的取数规则,在查询结果后再进行聚合,取到唯一值。
不过不管怎么样,都是要看实际需求是什么样子的。大多可以用子查询和关联联合解决。
只设置了一个主键,每次插入数据时都会提示主键值重复,不能插入数据,但是数据还是成功插入了数据库。这种情况,要么就是SQL系统本身出问题了(不过这种可能性小得很呢),一种可能是重复插入数据了(这种情况下,本应插入两条)(第二条插入时,提示重复,结果插入失败),所以你看到的结果就是提示重复,但插入了一条记录。
你可以在查询分析器或管理器中,看一下这个表的相关性,是否其中有记录插入 *** 作。
以上就是关于问个简单的sql查询,怎么查数据库中不重复的列值全部的内容,包括:问个简单的sql查询,怎么查数据库中不重复的列值、sql 两张表怎么查询不重复的记录、SQL数据库插入不重复的记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)