中易网

SQL如何实现:第一步.查询这个数据表zhamen—0的行数;第二步.将n-1和n行数据更新到第一二行;

答案:2  悬赏:70  
解决时间 2021-02-21 20:11
SQL如何实现:第一步.查询这个数据表zhamen—0的行数。(假如结果是n行);第二步.将n-1和n行数据更新到第一二行;第三步,将第三行到第n数据都删除。
最佳答案
Create Table T
(
id int identity(1,1),
A int
)

--这里的id是用来排序的,可以不用
Insert into t(A) values(1),(2),(3),(5),(6),(7),(8)

;
With CT
AS
(
    --生成记录号1到N
    Select ROW_NUMBER() Over(Order By id) As id,A
    From T
)
Merge Into CT As A
Using
(
    --生成另一个记录号,用1到N-(记录总数-2)
    --这是为了N和第二行,N-1和第一行数据对应
    Select  ROW_NUMBER() Over(Order By id)-(Count(*) Over()-2) As id,A
    From T
) As B
On A.id=B.id--按上面的记录号对应
When matched Then--对应上的就更新
Update Set A.A=B.A
When not matched By source Then--对应不上的就删除
Delete;

--测试环境MSSQL2008,这是增修删合拼成一句sql的写法
全部回答
你好! 表结构发出来,按什么排序? 如有疑问,请追问。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
私の间违い 怎么读?
北京市昌平区计算机考试中心我想知道这个在什
中午睡觉的时候要把美瞳摘下来吗?
康明眼镜新城路店地址有知道的么?有点事想过
尚荷国际产后修复中心在哪里啊,我有事要去这
骏达汽车服务中心这个地址在什么地方,我要处
顺翔装饰(崇德街)地址在什么地方,想过去办事
电脑电源的额定功率越大越耗电吗
榃它地址在什么地方,想过去办事
赖和贰,咂,砸的组词是什么?
白石沅这个地址在什么地方,我要处理点事
西安市浐灞河发展有限公司资产管理部在哪里啊
黄光裕到底是怎样一个人?
鸿缘居大连老菜馆(新园店)地址有知道的么?有
龙井市场在什么地方啊,我要过去处理事情
推荐资讯
新世纪超市(郚山镇卫生院南逯分院东)在什么地
在网上买了两个移动电源 而收快递就只有一个
我喜欢鲁迅的作品阿q正传作文300
一年级大学季12.05的英文歌曲
大众迈腾发动机故障灯点亮是什么问题?
扶贫手册,那要去哪个部门开证明
我被伟创力录取了,明天就去PCBA_B15上班,请
我是保定市易县人,在天津上班一年,现在回保
请用take sth with sb 的句式造句
奖励是什么意思啊
天天快递新城营业厅在什么地方啊,我要过去处
我在南京鼓楼医院一楼拿的药,一楼有几个药房
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?