1、select sum(列名) from 表名
用cmd.ExecuteScalar()方法查出来,返回的就是第一行第一列的数据。
而不是返回受影响的行数。
cmd.ExecuteNonQuery()方法才是返回受影响的行数。
2、用sum聚合函数就可以计算出来,如下:
select
SUM(item1*[rank]) as 'f1',
SUM(item2*[rank]) as 'f2',
SUM(item3*[rank]) as 'f3'
from Table1
第一个问题:
用cmd.ExcuteScalar()运行select sum(列名) from 表名” 返回的就是你要的结果。
第二个问题:
SELECT SUM( ISNULL(item1,0)*ISNULL(rank, 0) ) as f1,
SUM( ISNULL(item2,0)*ISNULL(rank, 0) ) as f2,
SUM( ISNULL(item3,0)*ISNULL(rank, 0) ) as f3
FROM 表名