mysql - 将两列从一个表复制到另一个表,但只复制唯一值

标签 mysql sql

我有 table1,其中有

MBID   |    Artist
__________________

123321   The Beatles
123214   Led Zeppelin
123321   The Beatles

如何将所有distinct MBID's 连同它们相应的Artist 名称复制到一个新表中,以便新表只有不同的 MBID

 MBID   |    Artist
__________________

123321   The Beatles
123214   Led Zeppelin

我试过了

 insert into table2 (MBID,artist) 
 select distinct(table1.MBID),table1.artist 
 FROM danktable

但这给了我奇怪的组合,而不仅仅是不同的 MBID

当我将 MBID 设为主索引时,此查询出现错误,因为我得到了非唯一的 MBID 值。

有人能帮帮我吗?

谢谢!

最佳答案

您可以按如下方式进行:

 insert into table2 (MBID,artist) 
 select MBID,max(artist)
 from table1
 group by MBID

关于mysql - 将两列从一个表复制到另一个表,但只复制唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805461/

相关文章:

mysql - 如何搜索以已知子串开头的子串

mysql在第三个表中加入计数行

php - 删除相同的获取数据php

mysql - Splint 不知道库函数正在释放内存

sql - 优化 SQL 查询查找表中不存在的条目

mysql - 获取在同一订单中购买了三件指定商品的所有客户

mysql - 您的 SQL 语法有误;查看与您的 MySQL 对应的手册

mysql INNER JOIN 与 WHERE。需要理解代码的作用

sql - Postgres JSONB : query by negative numbers

mysql - Group By 在同一字段上有多个 Having