发现有类似的问题,但是sqlserver,求oracle写法。。原帖地址供参考http://bbs.csdn.net/topics/100034393
有表如下:
ID NAME CLASS
1 AA II
2 BB IV
3 AB IV
4 AC II
5 CC IX
6 SS II
7 AS IX
8 ES IX
---------------------
用什么方法可以把上的表按照class的内容分成多个表
结果如下:
ID NAME CLASS
1 AA II
4 AC II
6 SS II
--------------------
ID NAME CLASS
2 BB IV
3 AB IV
--------------------
ID NAME CLASS
5 CC IX
7 AS IX
8 ES IX
有表如下:
ID NAME CLASS
1 AA II
2 BB IV
3 AB IV
4 AC II
5 CC IX
6 SS II
7 AS IX
8 ES IX
---------------------
用什么方法可以把上的表按照class的内容分成多个表
结果如下:
ID NAME CLASS
1 AA II
4 AC II
6 SS II
--------------------
ID NAME CLASS
2 BB IV
3 AB IV
--------------------
ID NAME CLASS
5 CC IX
7 AS IX
8 ES IX
(比如存储过程+游标,或者是手工执行,或者是用 mysql 命令行执行)
select distinct concat('create table `', CLASS, '` as select * from tb where CLASS=', quote(CLASS), ';') from tb;
mysql -e "select distinct concat('create table `', CLASS, '` as select * from tb where CLASS=', quote(CLASS), ';') from tb;" --skip-column-names -u 帐号 -p"密码" 库名 | mysql -u 帐号 -p"密码" 库名