gpt4 book ai didi

php - MySQL - 从 1 开始更新和递增列值,用于基于另一列并按另一列排序的一系列行

转载 作者:行者123 更新时间:2023-11-29 07:10:48 26 4
gpt4 key购买 nike

我有这张表:

id  track_name   datetime             weight
1 aName 2010-06-01 09:00:00 1
2 theName3 2010-07-01 11:00:00 2
3 heyThere 2010-08-01 16:00:00 3
4 abcd 2010-08-01 22:44:00 4
5 g123go 2010-08-01 22:00:50 5
6 foobar 2010-09-01 13:11:00 6
7 barfoo 2010-11-01 12:00:55 7
8 barbar 2010-12-01 11:11:00 8

权重决定行记录顺序。它用于订购播放列表。并且用户可以上下移动项目,从而以简单的方式重新排序,效果很好。

现在我想知道是否可以编写一个查询来根据“日期”列更改“权重”值,按 DESC 或 ASC 排序。 “track_name”列也是如此。

示例伪查询:

UPDATE table SET weight (start from 1) ORDER BY datetime ASC

我的替代方法是获取所有行并在 Web 服务器上处理每一行,如果有数千条记录,我怀疑这是最有效的方法。

最佳答案

我认为您无法通过单个查询来完成。你需要一个计数器,这意味着你需要一个循环。如果你只想用 MySQL 来做,你可以创建一个存储过程。如果没有,就写一个 PHP 脚本(witch 可能会慢一点)。逻辑是一样的:

  1. 获取表中的所有数据;
  2. 遍历每条记录订购你需要的并更新 weight参数。

关于php - MySQL - 从 1 开始更新和递增列值,用于基于另一列并按另一列排序的一系列行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com