mysql - 创建新表时插入另一个表中的值

标签 mysql sql join

这是我的 FIDDLE .

我正在尝试将数据从旧表导入到新表。在旧表中有很多没有重复。在新表中,我只能插入不同的电子邮件。我无法插入相同的名称。这是我的代码。

CREATE TABLE table_old(name VARCHAR(255), email VARCHAR(255));

INSERT INTO table_old (name, email) VALUES ('tom', 'tom@gmail.com'),
                                           ('peter', 'peter@gmail.com'),
                                           ('hitler', 'hitler@gmail.com'),
                                           ('haasan', 'haasan@gmail.com'),
                                           ('arun', 'arun@gmail.com'),
                                           ('tom', 'tom@gmail.com'),
                                           ('peter', 'peter@gmail.com'),
                                           ('hitler', 'hitler@gmail.com'),
                                           ('haasan', 'haasan@gmail.com'),
                                           ('arun', 'arun@gmail.com');

CREATE TABLE table_new AS (SELECT DISTINCT email FROM table_old );

所以请告诉我如何将关于电子邮件列名称的名称插入到 table_new 中。

最佳答案

我认为这就是您所追求的:

CREATE TABLE table_new AS (SELECT name, email FROM table_old GROUP BY name, email);

关于mysql - 创建新表时插入另一个表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15021345/

相关文章:

MySQL 插入值和一些要从其他表中选择的值

php - SQL查询优化

涉及超过 2 个表的 mySQL SELECT Left Outer Join

mysql - CASE 语句语法无效

mysql 使用 GROUP CONCAT 和 JOIN 选择多行

java - java中线程是如何工作的

mysql - SQL 盘点库存问题

mysql - 用外键拉数据库行

PHP:未定义索引 - 但我定义了它们? :S

java - 将java应用程序作为windows服务