mysql - 如何联合查询两个结构相同的表并且id不重复
问题描述
1.有两个相同结构的表guangdong_student,shanghai_student,希望联合查询表一,表二,得到表三的结果。使用union会导致id重复,如何做到id自增
2.示例:
表一:guangdong_student+----+----------+| id | username |+----+----------+| 1 | jhon || 2 | may || 3 | abcd1111 |+----+----------+表二:shanghai_student+----+----------+| id | username |+----+----------+| 1 | jhon || 2 | mike || 3 | abcd |+----+----------+希望合并后的表:student+----+----------+| id | username |+----+----------+| 1 | jhon || 2 | may || 3 | abcd1111 || 4 | mike || 5 | abcd |+----+----------+
问题解答
回答1:在id是Primary key并且为auto_increment的情况下,执行下面语句可以做到。insert into guangdong_student(username) select username from shanghai_student;
回答2:set @id=0;select @id := @id+1 id,distinct username, from ((select * from guangdong_student) gd union (select * from shanghai_student) sh) student;回答3:
select @id := @id+1 id, usernamefrom ( select username from guangdong_student union select username from shanghai_student) t1,(SELECT @id:=0) t2
相关文章:
1. css - 使用blur()滤镜为什么有透明的效果2. android - 安卓做前端,PHP做后台服务器 有什么需要注意的?3. Android下,rxJava+retrofit 并发上传文件和串行上传文件的效率为什么差不多?4. python的bs4如何筛选出h1标签中的内容5. javascript - 移动端H5页面禁止缩放了,在浏览器上仍然可以缩放6. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...7. angular.js - 通过数据中children的个数自动生成能点击展开的div8. docker gitlab 如何git clone?9. java - spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解10. docker-compose 为何找不到配置文件?
