可以通过insert into …… as select 语句来进行实现。
sql:insert into tablename2( id,name) as select id ,name from tablename2 where 条件语句。
备注:以上语句中插入的字段顺序必须要和查询的语句的顺序保持一致,否则会报错,如果有条件语句的话,可以增加 where条件。
create table 新表(相应字段) as
select distinct name,max(formate(日期,"YYYY")),max(身高) from 旧表
其中日期格式你自己查看下忘记怎么格式化了意思就是这样,这样只取更新日期最近的,至于身高会不会是最大感觉楼主例子还是有问题没描述清楚,身高一定会增高?和更新日期增加而增加?
create table newtable as select * from oldtable
where rowid=(select rowid from oldtable where (姓名,更新日期) in (select 姓名,max(更新日期) from oldtable group by 姓名));
此语句适用于 ‘身高’ 字段后面还有更多字段
insert into 新表(姓名,更新日期,身高)
select 姓名,更新日期,身高
from 原表
where ((姓名=’张三‘ and 更新日期=’99年‘) or (姓名=’李四‘ and 更新日期=’88年‘))
create table new_tablename
as
select 姓名,max(更新日期) 更新日期,身高 from old_table group by 姓名,身高;