当前位置: 首页 > 面试题库 >

mysql根据顺序使用int更新列

蒋正平
2023-03-14
问题内容

可以说我有这些专栏

 uniqueID|Money|Quantity|MoneyOrder|QuantityOrder
1|23|12||
2|11|9||
3|99|100||

我想要做的就是更新MoneyOrderQuantityOrder基于价值ORDER BY

因此结果将是:

uniqueID|Money|Quantity|MoneyOrder|QuantityOrder
1|23|12|2|1
2|11|90|1|2
3|99|100|3|3

我希望更新操作像标识列一样,而实际上不使其成为标识列。我知道我可以按“ x”排序,结果就是顺序,但是我想生成一个报告,在这里可以逐行查看项目。

这样的事情可能update mytable set Moneyorder = 'imnotsure' order by MoneyOrder asc吗?


问题答案:
SET @rownumber = 0;    
update mytable set Moneyorder = (@rownumber:=@rownumber+1)
order by MoneyOrder asc

或在单个查询中进行尝试

update mytable target
join
(
     select id, (@rownumber := @rownumber + 1) as rownum
     from mytable         
     cross join (select @rownumber := 0) r
     order by MoneyOrder asc
) source on target.id = source.id    
set Moneyorder = rownum


 类似资料:
  • 问题内容: 因此,此脚本返回以下内容: 这很合情理,只是我希望它返回此值: 我希望它在击中一组新香蕉时重新开始计数。显然,我的数据并不是真正的香蕉,但它使可视化变得容易。 香蕉的这种复发被认为是新出现的,因此,我们希望在看到这种情况时从一个开始计数。我一直在绞尽脑汁,想不出一个好方法来做到这一点。我了解为什么它不起作用,但是想不出一种使它起作用的方法。关于最佳方法的任何建议吗? 问题答案: 有几种

  • 问题内容: 我在一个响应式网站上工作,遇到一个有趣的问题。我有一些并排的div。可能有2到6个左右的任何地方。当屏幕的宽度不足以正确显示所有内容时,div将垂直堆叠。使用CSS足够简单。 问题是,我需要根据布局以不同的顺序排列它们。使用2或3个div([根据width更改div的顺序])很容易做到这一点,但是当您添加第四个[div时,难度就更大。 我可以使用并手动设置位置,但是这会使父级缩小并且不

  • 问题内容: 有什么方法可以增加文档开头的用语吗?例如,我有3个文档。 XXX应该在搜索词“ Sulpher”的顶部列出,因为那是该文档中的第一个单词。如果YYY列在顶部,则可以,因为与XXX相同。但是ZZZ应该永远是最后一个。换句话说,在“左侧”找到的术语应比在“右侧”找到的术语具有更高的优先级。 问题答案: 您可以通过小写标准化术语位置来提高: 然后 屈服

  • 我在一个返回一个巨大选择的过程中工作,我不想定义它是如何排序的。我不想从三个字段中选择一个,如果它是升序还是降序,如果三个选项都没有定义,它会默认返回降序中的第一个字段 这边 当然,这不起作用... mysql指责单词DESC和ASC中的错误,我怎么能让这个工作??

  • 问题内容: 我有一个带有列的表:(这只是一个示例,我有5万条记录) 我将序列号从1-3更新为数字,因此它将如下所示: 如何在一个SQL命令中的MySQL for SQL中做到这一点 问题答案: 更新 一个陈述的另一种方式

  • 我想使用Ajax更新数据,下面是示例代码。SweetAlert被移位,因为它已经更新了,但是它在数据库中没有生效,因此它给出了一个错误。 这是在单击submit按钮时提交表单的Ajax脚本。 这段代码用于php服务器端,用于将数据插入数据库。