【发布时间】:2015-03-05 11:54:15
【问题描述】:
我有一张这样的桌子:
name | index
item A | 1
item B | 3
item C | 3.2
item D | 3.3
item E | 30
item F | 30.1
如何使用 mysql 或 php 对索引列重新排序以删除整数序列中的所有间隙,以便表格如下所示:
name | index
item A | 1
item B | 2
item C | 2.2
item D | 2.3
item E | 3
item F | 3.1
我尝试使用 SUBSTRING 仅替换索引中的第一个数字,但这不允许项目 E 和 F
【问题讨论】:
-
"like this" - 显示一个示例不是正确的描述 - 特别是如果您没有列出所有边缘情况。
-
鉴于您尝试执行的任务的性质,这些值似乎根本不是小数,而是由两个由
.字符分隔的整数组成,并且恰好被渲染为显示的分数。如果是这样,您可能明智地将值存储在两个单独的整数列中(如果需要,在应用程序的表示层将值组合成一个字符串)。当然,这并不能解决您的问题,但它至少开始将其简化为一个稍微简单的任务。 -
是的,你是对的@eggyal - 最好将这些存储为单独的列,但是应用程序非常成熟,这是最后一个障碍,所以我想尝试解决它如果可能的话,在改写之前