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. docker-machine添加一個已有的docker主機問題2. docker - 如何修改運行中容器的配置3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. mac里的docker如何命令行開啟呢?5. docker安裝后出現Cannot connect to the Docker daemon.6. 關于docker下的nginx壓力測試7. CSS屬性中的`auto`值是什么意思。8. java - 安卓實現熄屏功能。9. java - spring boot @Autowired10. node.js - node express 中ajax post請求參數接收不到?
