SQLServer中为 id 添加非空约束:
ALTER TABLE dbo.student
ALTER COLUMN id INT NOT NULL
注意:在添加非空约束前,id字段不能为空,否则添加不成功。
通过建立临时表和ROW_NUMBER() OVER函数对表中重复的数据去重
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,COL1相同的分在一个组中,在分组内部根据 COL2排序,该函数 返回 结果集分区内 行的的序列号,每一个分区的第一行从1开始。
使用row_number函数删除表中 id 重复的记录。
1、建立临时表。 with 表名 as ( select 列名 from 基表 )
2、在临时表中使用row_number() 函数进行分组。
3、删除行的序列号大于1 的行,即可去重。
WITH cte AS(
SELECT *,
ROW_NUMBER() OVER(
PARTITION BY
id -- 根据id进行分组
ORDER BY -- 组内根据年龄进行排序
age
) AS row_num -- row_number函数返回的行序列号作为新的一列
FROM dbo.student
)
DELETE FROM cte -- 删除行序号大于1的,即可去重
WHERE row_num>1
为 id 添加主键,注意:此时 id 必须非空且唯一,只有这样才满足添加主键的条件。
ALTER TABLE dbo.student
ADD PRIMARY KEY (id)
本文详细介绍了在SQLServer中如何为id字段添加非空约束,使用ROW_NUMBER()函数去除重复数据,以及如何添加主键约束。通过具体步骤和示例,帮助读者掌握SQLServer的数据管理和优化技巧。

93

被折叠的 条评论
为什么被折叠?



