我对 sql 完全陌生,我自己也做不到。所以我需要你的帮助。
我想对列中的值进行排序,然后保存更改。但我不知道该怎么做。
表看起来像这样:
Id | Name | SomeDescription
---------------------------
1 |Best | Description1
2 |Worth | Description2
3 |Good | Description3
我想得到这样的东西:
Id | Name | SomeDescription
---------------------------
1 |Best | Description1
2 |Good | Description3
3 |Worth | Description2
所以我需要对“id”和“name”列进行排序。
我使用以下语句对“名称”列的值进行排序:
SELECT * FROM games ORDER BY name ASC
但是如何对 id 列的值进行排序并保存表中的更改?
请帮忙。
最佳答案
你将不得不使用第二张 table
games2
与您的 games
具有相同的结构表,确保 ID 是自动递增的CREATE TABLE `games2` LIKE `games`;
games2
INSERT INTO `games2` (`Name`, `SomeDescription`) SELECT `Name`, `SomeDescription` FROM `games` ORDER BY `Name`
-- DROP TABLE `games`;
-- or
RENAME TABLE `games` TO `games1`;
RENAME TABLE `games2` TO `games`;
这些步骤将产生您想要的结果。
关于sql - 如何对列中的值进行排序并更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079750/