MySQL数据库语句,计算某一列的和用select sum(b) from a就可以了。
下面来补充一些MySql的基本 *** 作命令。
注: <>表示参数、[]表示可选项
连接数据库:mysql> mysql -u<username>-p<password>
显示所有数据库:mysql>show databases
选择数据库:mysql> use <database name>
创建一个数据库:mysql>create database <database name>[charset <charset>]
删除一个数据库:mysql>drop database <database name>
修改数据库名:mysql无法直接修改数据库名!
显示所有表:mysql>show tables
删除一张表:mysql>drop table <table name>
修改表名:mysql> rename table <table name>to <new table name>
清空表:mysql>truncate <table name>
truncate和delete的区别:truncate相当于删表再重建一张相同结构的表, *** 作后得到一张全新表;delete只是删除数据,而且是按照行来删除,如果表中有自增型字段,其影响还在。
查看表结构:mysql>desc <table name>
快速建一张相似的表:mysql>create table <table name>like <another table>
我用的MYsql 具体函数有一点点出入:而且你的表名建的太刺激了,都是in、out、return等关键字,我在表名上都添加了一个数字1,即 in1,out1,back1,return1,transfer1:select
in1.id,
in1.amount -
if(in1.id in(select `inId` from out1), (select sum(out1.`amount`) from out1 where out1.inId=in1.id),0) +
if(in1.id in(select out1.`inId` from out1,back1 where out1.id=back1.outId),(select sum(back1.`amount`) from back1,out1 where out1.inId=in1.id and out1.id=back1.outId),0) -
if(in1.id in(select `inId` from transfer1),(select sum(transfer1.`amount`) from transfer1 where in1.id=transfer1.inId),0)-
if(in1.id in(select `inId` from return1), (select sum(return1.`amount`) from return1 where return1.inId=in1.id),0) as total
from in1
经过测试后结果为:
id, total
1.490
2.486
3.489
希望能对你有所帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)