问题描述
删除相同的记录access数据库dtimeh1h22015/03/040:03:0025.625.82015/03/040:02:0025.625.82015/03/040:01:0025.625.82015/03/040:00:0025.625.82015/03/040:00:0025.630.82015/03/040:00:0025.629.8如何删除时间是0:00:00相同的记录,保留最大的h2
解决方案
解决方案二:
有人知道吗,
解决方案三:
deletefromTableNamewhereh2notin(selecttop1h2fromTableNamewherertrim(convert(nchar,dtime,120))like'%0:00:00'orderbyh2DESC)andrtrim(convert(nchar,dtime,120))like'%0:00:00'
解决方案四:
更正:deletefromTableNamewhereh2notin(selecttop1h2fromTableNamewherertrim(convert(nchar,dtime,120))like#%0:00:00#orderbyh2DESC)andrtrim(convert(nchar,dtime,120))like#%0:00:00
解决方案五:
#先找到最大数据,最大id,再删除掉不是最大的数据的。withmaxdataas(selectMAX(h2)asmaxh2,datetimefromTest_DeleteRepeatDatagroupbyTest_DeleteRepeatData.datetime)deletefromTest_DeleteRepeatDatawhereIDnotin(selects.IDfromTest_DeleteRepeatDatasinnerjoinmaxdataonmaxdata.datetime=s.datetimeands.h2=maxdata.maxh2)
解决方案六:
这个我做过,呵呵我是把pcbid相同的删除,我直接把我程序里sql代码给你你参数一下,应该没问题deletefrombarcodewherepcbidin(selectpcbidfrombarcodegroupbypcbidhavingcount(pcbid)>1)andidnotin(selectmax(id)frombarcodegroupbypcbidhavingcount(pcbid)>1)
解决方案七:
你参考一下,我是把数据库里,重复的只留ID最大哪个
解决方案八:
引用5楼oysy的回复:
这个我做过,呵呵我是把pcbid相同的删除,我直接把我程序里sql代码给你你参数一下,应该没问题deletefrombarcodewherepcbidin(selectpcbidfrombarcodegroupbypcbidhavingcount(pcbid)>1)andidnotin(selectmax(id)frombarcodegroupbypcbidhavingcount(pcbid)>1)
是不是deletefrombarcodewhereidnotin(selectmax(id)frombarcodegroupbypcbidhavingcount(pcbid)>1)这样就行了呢?是我考虑不周全吗