Microsoft SQL Server 表不应该包含重复行和非唯一主键。为简洁起见,在本文中我们有时称主键为“键”或“PK”,但这始终表示“主键”。重复的 PK 违反了实体完整性,在关系系统中是不允许的。SQL Server 有各种强制执行实体完整性的机制,包括索引、唯一约束、主键约束和触发器。 尽管如此,在某些情况下还可能会出现重复的主键;如果出现此类情况,就必须清除重复主键。出现重复主键的情形之一是,在 SQL Server 外部的非关系数据中存在重复的 PK,在导入这些数据时没有强制执行
通常情况下我们写sql语句主键都是唯一的不会出现id重复的问题。如:
查询表table1的所有数据
select * from table1
会显示出table1中所有字段列表。
select count(*) as count from table1
统计table表中数据总数也不会有问题。
但是如果使用的分组group by那么问题就会出现统计不准的问题
select count(*) from table1 where status=1
返回结果
但是如果这样写就会按分组统计总数,不是我