如何用一种方法读取几个不同的命令?

时间:2019-06-24 12:53:40

标签: c# sql-server

我想在一种方法中通过将int year作为方法的参数来读取许多不同的命令。该方法应读取3个不同的命令,例如2017、2018和2019年。

我到目前为止所做的是以下

public int GetSumYear(int year)
{
    int sum = 0;
    string CS = "+++++"

    using (SqlConnection connection = new SqlConnection(CS))
    {
        connection.Open();

        SqlCommand command = new SqlCommand("select COUNT (ÜbertragenAm) from BranchSale_all where ÜbertragenAm between '2017-01-01' and '2018-01-01'", connection);

        // here i want to read the same command for 2018 and 2019

        sum = (int)command.ExecuteScalar();
    }
    return sum;
}

1 个答案:

答案 0 :(得分:2)

您最好在数据库级别进行某种聚合,而不是发出单独的查询

select 
     YEAR(ÜbertragenAm) year,
     COUNT(*) count
from BranchSale_all 
where YEAR(ÜbertragenAm) IN (2017,2018,2019)
group by YEAR(ÜbertragenAm)