这几天,我们都在做机房收费系统。在此过程中,我们会遇到很多关于SQL server表中数据的计算问题。在此总结一下!
SQL语句中关于计算的聚合函数:
COUNT(*) :计算元组的个数
COUNT(<列名>):求一列中值得计算个数
SUM/AVG/MAX/MIN(<列名>):求一列值得总和/平均值/最大值/最小值(数值型)
以上这些函数是在SQL中编辑表数据时可以用到的。经过实践,由于我们是利用VB来实现机房收费系统中的数据计算,那么,这个时候,上面这些函数貌似帮不上我们什么大忙!怎么办呢?
让我们先分析一下,我们经常遇到的计算问题的类型
1:
计算元组(记录)的个数:如现在正在上机的人数,需要在上机表中进行查询并将其显示出来。
这里我们可以利用对象的属性来解决:
dim mrc as adodb.recordset
dim count as integer
count=mrc.recordcount '赋给一个变量,将其显示出来即可
2.计算某一列值得总和:例如:我们需要计算所有注册过的卡的存款总额。
这个时候,我们可以找到需要计算的表,然后将需要汇总的列的所有值进行遍历
例如:
dim mrc as adodb.recordset dim txtSQL as string dim msgText as string dim countMoney as long txtsql="select * from registcard_info" set mrc=executesql(txtsql,msgtext) countmoney=0 do while not mrc.eof countmoney=countmoney+mrc!money '如果知道是哪一列,可直接用field属性来表示 mrc.movenext loop
以上只是临时写的几行代码,很多命名不规范的,请大家谅解!
目前,在机房收费系统的数据处理中就主要是以上的两种情况,以后遇上,再更新,讨论!