我有一个数据库表,它跟踪项目列表,必要时插入和删除它们。我发现了一堆无序的行,我想在插入或删除一行时让一些东西来处理它。你知道吗
目前,我使用的是基本的insert语句
insert into this_queue (thing, queNum) VALUES ('thing1', 1)
delete from this_queue where thing = 'thing1'
update this_queue set queNum = queNum - 1 where queNum > 1
这些查询可以很好地从队列中删除单个项,但是当我删除不符合顺序的项时,它会使所有内容都不正常。你知道吗
我一直在想办法把排队的人排得井井有条。。。1、2、3、4、5、6等。。。添加或删除项目时。你知道吗
我想在插入或删除后,要么删除,要么添加1,检查是否有相邻的号码,如果没有再次计数,保持跟踪,一直走,直到我找到号码。然后我可以减去这个数,回到平方一。你知道吗
在使用python和mssqlserver2008r2时,我将python包含在标记列表中。你知道吗
这看起来有点混乱,所以我希望有人会有一个更优雅的方式。谢谢
测试数据
表格
删除一些随机记录
更新表格
使用带有CTE的ROW\ u NUMBER()函数更新表。你知道吗
或
使用INNER JOIN with ROW\ u NUMBER()函数更新表
最终结果
相关问题 更多 >
编程相关推荐