-1

私の答えはこのセクションの下部にあることがわかりました。

どんな助けでも大歓迎ですありがとうございます。

1〜5の値を保持できるRankという列のテーブルがあります

私がやろうとしているのは、後で表示するためにデータをデータセットに保存することです。

例えば

Rank
_____

4
3
5
4
2

私が今持っている私のSQLクエリ。

select rank, COUNT(*) as rankCount from Result group by rank

表示したい

5ランク=1

4ランク=2

3ランク=1

2ランク=1

1ランク=0

myDataSet.Table[0].Rows[0].Field<int>("rank"); ??

これを行う方法がわからない場合は、助けていただければ幸いです。

同じクエリ

select rank, COUNT(*) as rankCount from Result group by rank

myDataTable = MyDataSet.Table[0];

string rank5 = string.Empty;

Foreach(DataRow row in myDataTable.Rows){

       if(row["rank"].ToString() == "5"){
         rank5 - row["rankCount"].ToString();
    }

}
4

2 に答える 2

0

この種のものは、データベースに適しています (そして高速です)。だから私はするだろう:

(同様のデータを含むテーブルがあるため、「targetType」は「ランク」に相当します。)

select targetType,
case targetType
when 1 then 'One'
when 2 then 'Two'
when 3 then 'Three'
when 4 then 'Four'
when 5 then 'Five'
else '' end + ' Rank' as Description,
count(1) [Count]
from Logs
where targetType between 1 and 5
group by targetType
order by 1


targetType  Description Count
1            One Rank    264
2            Two Rank    248
3            Three Rank  692
4            Four Rank   441
于 2015-11-19T03:42:27.020 に答える
0
public class RankGroup
{
    public int Rank { get; set; }
    public int RankCount { get; set; }

    public override string ToString()
    {
        return string.Format("Rank Number: {0} Rank Number Count: {1}", Rank, RankCount);
    }
}

var rankGroups = myDataSet.Table[0].Rows.Cast<Row>().Select(r =>
                                    new RankGroup
                                    {
                                        Rank = r.Field<int>("rank"),
                                        RankCount = r.Field<int>("rankCount")
                                    }

foreach(var rankGroup in rankGroups)
{
    Console.WriteLine(rank);
}
于 2013-03-02T02:38:41.207 に答える