Winform 查询SQlite 的数据datatable 提取不重复的一列值和各自出现的次数
时间: 2024-03-21 12:44:38 浏览: 57
可以通过以下代码实现:
```csharp
using System.Data;
using System.Data.SQLite;
// 假设数据库连接字符串为 connectionString,查询语句为 sqlQuery,列名为 columnName
string connectionString = "Data Source=yourDatabase.sqlite";
string columnName = "YourColumn";
string sqlQuery = $"SELECT {columnName}, COUNT(*) as Count FROM YourTable GROUP BY {columnName}";
// 创建连接和命令对象
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
using (SQLiteCommand command = new SQLiteCommand(sqlQuery, connection))
{
connection.Open();
// 执行查询并获取结果
DataTable dataTable = new DataTable();
using (SQLiteDataReader reader = command.ExecuteReader())
{
dataTable.Load(reader);
}
// 输出计算结果
foreach (DataRow row in dataTable.Rows)
{
string value = row[columnName].ToString();
int count = Convert.ToInt32(row["Count"]);
Console.WriteLine($"值 {value} 出现了 {count} 次");
}
}
```
这段代码首先创建了一个 SQLite 连接和一个查询命令对象,然后执行查询并将结果读取到一个 DataTable 中。最后遍历 DataTable 中的每一行,输出每个值出现的次数。注意,这里假设列名 columnName 是一个字符串类型。如果 columnName 是一个整数类型,需要将代码中的 `string` 改为 `int`。
阅读全文