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. html5和Flash对抗是什么情况?2. mysql - 关于时间的入库问题,大神们你们存数据库的时间是取本地的时间,还是取utc的时间?3. apache - 本地搭建wordpress权限问题4. node.js - hexo+github搭建博客建站时出现问题5. 在mac下出现了两个docker环境6. javascript - 从mysql获取json数据,前端怎么处理转换解析json类型7. java - 静态属性中的赋值和静态代码块中的赋值有什么区别?8. javascript - 开发者工具中的本地缓存放在电脑的哪个文件夹9. css3 - 在sublime text里, 如何让emmet生成的带前缀css属性垂直对齐?10. 数据库无法进入
