1.合并的第一个步骤,是在修改【表1】结构,增加【经验值】列,可以写SQL,也可以在管理界面点鼠标完成。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、尼开远网站维护、网站推广。
2.合并的第二个步骤,是把【表1】现有数据的经验值更新,SQL语句:
UPDATE 表1 SET 经验值=(SELECT 经验值 FROM 表2 WHERE 表1.姓名=表2.姓名
3.合并的第三个步骤,把【表2】中剩下的数据复制到【表1】中,SQL语句:
DELETE FROM 表2 WHERE 姓名 IN (SELECT 姓名 FROM 表1);
INSERT INTO 表1(姓名,经验值) SELECT 姓名,经验值 FROM 表2
select a.time,sum(regTime) regSum,sum(logTime) logSum from
(select regTime time,1 regTime , 0 logSum from user union all select logTime time,0 regTime , 1 logSum from login) a group by a.time order by a.time;
------------------
select a.time,ifnull(b.regSum,0) regSum,ifnull(c.loginSum,0) loginSum from
(select regtime time from user union select logintime time from lgoin) a
left join (select regTime time,count(*) regSum from user group by regTime) b
on (a.time=b.time)
left join (select loginTime time,count(*) logSum from login group by loginTime) c
on (a.time=c.time)
order by a.time;
MySQL InnoDB 表数据页或者二级索引页(简称数据页或者索引页)的合并与分裂对 InnoDB 表整体性能影响很大;数据页的这类操作越多,对 InnoDB 表数据写入的影响越大。
MySQL 提供了一个数据页合并临界值(MERGE_THRESHOLD),在某些场景下,可以人为介入,减少数据页的合并与分裂。
在 InnoDB 表里,每个数据页默认16K 大小,默认 MERGE_THRESHOLD 值为 50,取值范围从 1 到 50,默认值即是最大值。也就是当页面记录数占比小于 50% 时,MySQL 会把这页和相邻的页面进行合并,保证数据页的紧凑,避免太多浪费。
要将两表合并,必须要有相同的字段和字段数据,ID主键自动增加无疑是最好的选择。
所以,在两个表中,都应该有id主键自动增加的字段。
然后就是下面的sql语句执行了: