Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用日期顺序创建新表(现有表的副本)_Mysql_Sql - Fatal编程技术网

Mysql 使用日期顺序创建新表(现有表的副本)

Mysql 使用日期顺序创建新表(现有表的副本),mysql,sql,Mysql,Sql,我有一个表(表1),列dateColmn没有asc或desc顺序。我想创建一个新的带有日期顺序的table1-(比如table2)副本。此操作的目的是在phpmyadmin中使用具有正确日期顺序的图表模式。 我有这个代码,但不幸的是,它没有像我预期的那样创建表2…它复制了表1的原样 CREATE TABLE `table2` LIKE `table1`; INSERT INTO `table2` SELECT * FROM `table1` ORDER BY `dateColmn` DESC;

我有一个表(表1),列
dateColmn
没有asc或desc顺序。我想创建一个新的带有日期顺序的table1-(比如table2)副本。此操作的目的是在phpmyadmin中使用具有正确日期顺序的图表模式。 我有这个代码,但不幸的是,它没有像我预期的那样创建表2…它复制了表1的原样

CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1` ORDER BY `dateColmn` DESC;

如何解决这个问题?

SQL表和结果集表示无序集。时期如果您希望结果集按特定顺序排列,则必须使用
orderby
子句:

如果要加快速度,请创建索引:

CREATE INDEX idx_table1_dateColumn ON table1(datecolumn DESC);

(MySQL的最新版本甚至理解
DESC
排序。)

不要插入到表中,而是按原样创建表的副本。下面的查询将帮助您按排序顺序获取数据

CREATE TABLE table2 AS SELECT * FROM table1 order by datacolumn desc;
SQL表表示无序集。桌子上没有秩序,所以你的问题有点不对劲。
CREATE TABLE table2 AS SELECT * FROM table1 order by datacolumn desc;