我们如何从表中删除两个值中的一个值?

时间:2013-10-06 23:14:42

标签: sql sql-server

这可能吗?我有一个包含两行和一列的表。两个行都有相同的值。没有主键就可以了。我们删除1行吗?

3 个答案:

答案 0 :(得分:1)

以下是使用ROW_NUMBER()common table expression

执行此操作的一种方法
with cte as (
  select *, 
    row_number() over (partition by id order by id) rn 
  from yourtable)
delete from cte
where rn = 1;

答案 1 :(得分:0)

您可以使用RANK()函数执行此操作。

或者您可以使用TOP关键字。

答案 2 :(得分:0)

你可以使用cte来删除一个,但是如果它们是相同的值(并且表格就像你描述它一样简单),你也可以删除它们并添加一个。更简单。

代理关键人物?