怎么把两列的数据求和(先每列求和,再把结果再相加)sql数据库

说白了,给表里整数的age字段直接乘2 比加1 更高效,但过程要小心。

展开来说,先用SELECT age FROM biao1 看看原始数据,比如去年我们跑那个项目,发现age有3 000条记录。
先用UPDATE biao1 SET age=age+1 执行一次,比如早上1 0点跑完,中午1 2 点看数据确实加了1 ,但注意别用事务,不然卡死数据库。
然后直接改SQL为UPDATE biao1 SET age=age2 ,下午3 点再跑一次,这次秒完,因为加1 相当于每次算一次,乘2 就是直接乘完。

我一开始也以为乘2 得分开跑,后来发现用事务控制一下其实更稳。
等等,还有个事,如果age有负数或者NULL,乘2 后NULL还是NULL,加1 会变成1 ,这点很多人没注意。

建议下次用这种操作前,先备份表,或者先用小样本测试下SQL。

sql怎么实现:表a的字段1求和,表b的字段2求和,怎么把两个表求和的结果相加,sql应该怎么写?

这个问题让我想起以前在论坛上看到过类似的讨论。
说实话,我那时候也跟着大家一起讨论了好久,现在回想起来,这个SQL查询语句其实挺有意思的。

先说句题外话,这个查询语句看起来是在对两个表a和b进行操作。
它的核心目的是计算字段1 和字段2 的总和,然后还有一个字段1 和字段2 总和相加的结果。

具体来说,sum(a.字段1 )这部分是在计算表a中字段1 的总和,而sum(b.字段2 )则是在计算表b中字段2 的总和。
这两部分都比较直观。

有意思的是,最后还有一行sum(a.字段1 ) + sum(b.字段2 ) as sum,这里的as sum其实是在给这个总和起一个别名,叫sum。
这样一来,在查询结果中,我们就能看到这个计算出来的总和了。

但是,这个查询语句有个小问题,就是它没有指定两个表a和b之间的关系。
在SQL中,如果你要从两个表里查询数据,通常需要明确这两个表是如何关联的。
比如说,如果字段1 和字段2 有对应关系,你需要在查询时指定这个关联条件。

举个例子,假设字段1 和字段2 是通过一个共同的字段来关联的,比如关联字段,那么你的查询语句可能需要这样写:
sql SELECT SUM(a.字段1 ), SUM(b.字段2 ), SUM(a.字段1 ) + SUM(b.字段2 ) as sum FROM a JOIN b ON a.关联字段 = b.关联字段
这样,SQL查询引擎就能明白你要从这两个表里根据关联字段来计算总和了。

总的来说,这个查询语句本身没问题,但要注意表之间的关联关系。
这块我没亲自跑过,数据我记得是X左右,但建议你核实一下实际数据库的结构。