我有一个包含以下列的sql表,我正在尝试找到一种方法来自动计算每个条目的每日使用情况。 “总使用量”是一个运行总计,每人每天输入一次。
最终我希望能够将它作为c#中的列表进行操作,但基于sql查询的方法也很有用。这在excel中很容易,但我希望有一种自动化的方法....
Date | Name | Total Usage | Daily Usage
2016-01-01 | John | 60 | ?
2016-01-02 | John | 63 | ?
2016-01-03 | John | 66 | ?
2016-01-01 | Jane | 30 | ?
2016-01-02 | Jane | 50 | ?
2016-01-03 | Jane | 75 | ?
答案 0 :(得分:0)
与您的问题相关,您可以使用以下用C#编写的代码段来获取结果表,该代码段使用System.Data
和System.Data.SqlClient
对象库:
strSQL = "Select [Name], AVG([Total Usage]) As AvrUsage FROM [YourTableName] GROUP BY [Name]";
// get data table with two columns: Name and AvgUsage
using (SqlConnection _connSql = new SqlConnection(connString))
{
using (SqlCommand _commandSql = new (SqlCommand())
{
_commandSql.CommandType = CommandType.Text;
_commandSql.Connection = _connSql;
_commandSql.CommandText = strSQL;
_connSql.Open();
using (SqlDataReader _drSql = _commandSql.ExecuteReader())
{
DataTable _dt = new DataTable();
_dt.Load(_drSql);
return _dt;
}
}
}
}
catch (Exception ex) {
throw;
}
,其中connString
- 是您的Sql数据库的连接字符串。
或者,您可以应用AVG([Total Usage])
代替SUM([Total Usage])/365
,而不是您的特定需求定义。
希望这可能会有所帮助。