mySQL-根据另一列的alpha自动填充排序器列
我有一个无法更改应用程序对输出排序方式的应用程序。不管怎样,它都想使用“sortorder”列 我还有一张大桌子,里面的排序者目前都是零。我想根据“itemname”列的字母顺序自动填充这些字段 表格如下:mySQL-根据另一列的alpha自动填充排序器列,mysql,sql,auto-populate,Mysql,Sql,Auto Populate,我有一个无法更改应用程序对输出排序方式的应用程序。不管怎样,它都想使用“sortorder”列 我还有一张大桌子,里面的排序者目前都是零。我想根据“itemname”列的字母顺序自动填充这些字段 表格如下: id itemname sortorder 1 A item 0 2 Big item 0 3 Cool item 0 4 Bad item 0 id itemname
id itemname sortorder
1 A item 0
2 Big item 0
3 Cool item 0
4 Bad item 0
id itemname sortorder
1 A item 10
2 Big item 30
3 Cool item 40
4 Bad item 20
我想运行一个查询,使其如下所示:
id itemname sortorder
1 A item 0
2 Big item 0
3 Cool item 0
4 Bad item 0
id itemname sortorder
1 A item 10
2 Big item 30
3 Cool item 40
4 Bad item 20
最好的方法是什么
UPDATE TableName a
INNER JOIN
(
SELECT A.id,
A.itemName,
@sort := @sort + 10 so
FROM TableName a,
(SELECT @sort:=0) b
ORDER BY itemName, id
) b ON a.id = b.ID
SET a.sortorder = b.so
你用什么来考虑一个共同的项目,一个大项目,一个很酷的项目和一个坏的项目?你用的就是这些名字吗?卢卡斯,没有:)我只是在编测试数据。我想,我是在试图搞笑。(不是很成功。)但是你会基于每个
项目名来填充排序器
,还是你有一定的条件来填充它?@Lucas,没有条件。我只是希望排序器与另一列的现有alpha排序相匹配。如果可以,我只会对itemname进行排序,但我无法更改显示数据的应用程序。我们的数字朋友在下面回答了。你用什么来考虑一个共同的项目,一个大项目,一个很酷的项目和一个坏项目?你用的就是这些名字吗?卢卡斯,没有:)我只是在编测试数据。我想,我是在试图搞笑。(不是很成功。)但是你会基于每个项目名来填充排序器
,还是你有一定的条件来填充它?@Lucas,没有条件。我只是希望排序器与另一列的现有alpha排序相匹配。如果可以,我只会对itemname进行排序,但我无法更改显示数据的应用程序。我们下面的一位朋友已经回答了这个问题。Fiddle似乎不得不将“A”和“ID”小写,但它确实起了作用!谢谢:)Fiddle似乎不需要将“A”和“ID”小写,但它起了作用!谢谢:)