可以使用以下代码对数据库查询结果进行分组统计
public static void GroupAndStatistic(string connectionString, string query)
{// 创建一个SQLSugar实例var db = new SQLSugarClient(connectionString);// 使用QueryHelper类执行查询var dataTable = db.Query<DataRow>().From(query).ExecuteDataTable();// 使用LINQ对DataTable进行分组统计var groupedData = dataTable.GroupBy(r => r["GroupByColumn"]).Select(g => new { GroupByColumn = g.Key, Count = g.Count() });// 输出分组统计结果foreach (var item in groupedData){Console.WriteLine("GroupByColumn: {0}, Count: {1}", item.GroupByColumn, item.Count);}
}
在这个示例中,我们使用QueryHelper类执行查询,并将其结果转换为DataTable。然后,我们使用LINQ的GroupBy方法根据指定的列对DataTable进行分组。最后,我们使用Select方法将分组结果转换为一个新的DataRow对象,其中包含分组列和计数列。
最后,可以使用以下代码进行测试:
public class GroupAndStatisticExample
{public static void Main(){// 连接字符串和查询var connectionString = "Data Source=(local);Initial Catalog=TestDB;Integrated Security=True";var query = "SELECT * FROM Customers";// 查询并对其结果进行分组统计GroupAndStatistic(connectionString, query);}
}
这个示例代码将连接到本地SQL Server数据库(如果存在),并执行查询"SELECT * FROM Customers"。然后,它将查询结果进行分组统计,并输出分组统计结果。注意,在这个示例中,我们假设DataTable中有一个名为"GroupByColumn"的列,用于分组统计。