下記のようなデータがDataTableに格納されていたとして、”Value”列の値が”0.1″の行の数を取得する方法の紹介となります。
Value列の値が0.1の行は2行あるので、2を取得することになります。
特定の条件に該当する行数を取得するには、下記のようにComputeメソッドを使います。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
//テーブルを作成する。
System.Data.DataTable Table = new System.Data.DataTable();
Table.Columns.Add("ID", typeof(int));
Table.Columns.Add("Value", typeof(double));
Table.Rows.Add(new Object[] { 1, 0.1 });
Table.Rows.Add(new Object[] { 2, 0.2 });
Table.Rows.Add(new Object[] { 3, 0.1 });
Table.Rows.Add(new Object[] { 4, 0.4 });
//Computeメソッドの実行
long count = Convert.ToInt64(Table.Compute("COUNT(ID)", "Value = 0.1"));
Console.WriteLine(count.ToString());
Console.Read();
}
}
}
Computeメソッドの第一引数に”COUNT(ID)”としています。COUNTの引数には、上記の例でいえは”COUNT(ID)”や”COUNT(Value)”などの単一のカラム名を指定してください。
※COUNT(*)のように指定した場合はエラーが発生しました。
以上となります。