表a 中有一字段为bh(字段类型为数值型或字符型都可以),其值有许多是重复的行,我想把凡是第一个出现的值的这条记录删除。不知如何写SQL语句?说明如下
bh    name
1     工
1     二
1     下
5     上
5     是
9     旧
9     曲
9     国
就是把上面name为工、上、旧的记录删除。

解决方案 »

  1.   

    事实上BH本身已排序了,但我要把bh重复的记录中的第一条记录删除。比如说bh为88的有5条记录。
    我想把第一条删除。bh为90的有3条记录也把第一条删除。
      

  2.   

    如果是在数据库中直接操作可能比较困难,通过DELEPHI来做的话,可能比较简单,先用一个TABLE 把表连上来,定位到第一条记录,用一个变亮把HH字段的值读出来,删除当前记录,下一条,如值不等于变量的值,把当前HH字段的值赋给变量,删除当前记录,一直到最后,就实现了。
      

  3.   

    容易,用select top 1 bh找到这条记录,然后定位,删除就ok了。
      

  4.   

    正确应该是这样我找到答案了:
    alter table a add newid int identity(1,1)
    delete from a where a.newid in(select min(newid) from a group by bh)
    alter table a drop column newid