Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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_Create Table - Fatal编程技术网

Mysql 基于字段创建表

Mysql 基于字段创建表,mysql,create-table,Mysql,Create Table,我有一个MySql表,大约有10万行。有一个字段表示id,其中包含1-35之间的数字。所有这些记录都属于此id范围,即所有这些记录的id列值都在1-35之间 现在我想创建另一个表,每个id有一行,即新表应该只有35行 怎么办 create table new_table (id int); insert into new_table select distinct id from big_table; 编辑: 您可以通过输出big_tablecreate脚本并更改名称来创建new_ta

我有一个MySql表,大约有10万行。有一个字段表示id,其中包含1-35之间的数字。所有这些记录都属于此id范围,即所有这些记录的id列值都在1-35之间

现在我想创建另一个表,每个id有一行,即新表应该只有35行

怎么办

create table new_table (id int);
insert into new_table
    select distinct id from big_table;
编辑: 您可以通过输出
big_table
create脚本并更改名称来创建
new_table

SHOW CREATE TABLE big_table;
/* modify the name of the output and execute */
insert into new_table
    select * from big_table group by id

您有一个包含100.000行的表,您需要一个包含35行的新表。其余列需要什么值

如果答案是:没关系,这是可行的:

CREATE TABLE newTable
SELECT * FROM yourTable
GROUP BY ID;
如果你只想要身份证

CREATE TABLE newTable
SELECT DISTINCT ID FROM yourTable;

您可以将数据从一个表复制到另一个甚至不同的数据库(模式),如下所示

INSERT INTO [DestDatabase].[DestTablName]
SELECT [ColumnName] FROM [SourceDatabase].[SourceTablName];
因此,您可以使用两种方法:

1:

2:


那么您想将具有特定值的表中的所有行复制到新表中吗?谢谢您的回复。但是通过这个方法,我可以得到唯一id字段的值。我想要大桌子的所有字段,但只有一次。例如,如果值为1的id有10k字段,我只希望在新的_表中有一个字段,类似于值为2的id,依此类推。有没有办法做到这一点?谢谢。事实上,我只想要新表中的这35行,不想要任何其他行。这是我正在努力解决的主要问题。有没有办法做到这一点?谢谢
INSERT INTO tbl_New
SELECT DISTINCT id from tbl_Original;
INSERT INTO tbl_New
SELECT id from tbl_Original GROUP BY id;