在数据集中存储结果的列中选择查询计数特定值

本文关键字:查询 选择 数据集 数据 集中 存储 结果 | 更新日期: 2023-09-27 18:01:44

我想我的答案在这部分的底部。

任何帮助都将是伟大的,谢谢。

我有一个名为Rank的列的表,它可以保存1-5的值

我想做的是把数据存储回一个数据集,稍后在

上显示例如

Rank
_____
4
3
5
4
2

我的SQL查询,我现在有。

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

我想显示

五阶= 1

4位= 2

3 rank = 1

两个rank = 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();
    }
}

在数据集中存储结果的列中选择查询计数特定值

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);
}

这种事情在数据库中更适合(也更快)。所以我会输入:

(我有一个类似的数据表,所以我的"targetType"等于你的"rank")

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