gpt4 book ai didi

php - 根据列值重新排序整个 MySQL 表

转载 作者:行者123 更新时间:2023-11-29 02:28:47 25 4
gpt4 key购买 nike

我有一个 MySQL 表,其中包含大约 1700 万条记录和一个 auto_increment 字段。结构是这样的:

+--------+-------------------+-----------+
| ID | Year1 | Year2 |
+--------+-------------------+-----------+
| 1 | 2001 | 2 |
| 2 | 2001 | 1 |
| 3 | 1999 | 3 |
| 4 | 2004 | 2 |
+--------+-------------------+-----------+

当按升序排列。像这样的..

+--------+-------------------+-----------+
| ID | Year1 | Year2 |
+--------+-------------------+-----------+
| 1 | 1999 | 3 |
| 2 | 2001 | 1 |
| 3 | 2001 | 2 |
| 4 | 2004 | 2 |
+--------+-------------------+-----------+

这可以通过 MySQL 中的查询实现吗,还是我应该使用 PHP 和循环等?

更新用例是这样的:我拥有的实际数据以特定模式存储。我不希望最终用户识别模式(2001 年,然后是 2001 年,然后是 1999 年,等等)。因此我想以标准的排序方式重新排列数据。

这个表没有外键。

最佳答案

首先备份你的数据库

与其重新安排您的实际表格,不如创建一个新表格并从旧表格中插入值。像这样:

创建自增表,主键

CREATE TABLE Table2
(`ID` int auto_increment primary key, `Year1` int, `Year2` int)
;

使用 SELECT 语句插入

INSERT INTO Table2
(`Year1`, `Year2`)
SELECT Year1, Year2
FROM Table1
ORDER BY Year1, Year2;

See this SQLFiddle

关于php - 根据列值重新排序整个 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16357850/

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