我有一个应用程序,我无法更改应用程序对输出进行排序的方式。无论如何,它都希望使用“sortorder”列。
我还有一个大表,其中排序器目前都是零。我想根据“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
这样做的最佳方法是什么?
答案 0 :(得分:1)
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