2013-03-02 4 views
-1

Я понимаю, что мой ответ находится в нижней части этого раздела.Выберите конкретное значение счетчика запросов в сохраненном столбце в DataSet

Любая помощь будет большой Спасибо.

У меня есть таблица со столбцом называется ранг, который может содержать значения от 1-5

Что я пытаюсь сделать, это получить обратно данные хранятся в наборе данных, чтобы быть дисплей позже

например

Rank 
_____ 

4 
3 
5 
4 
2 

мой запрос sql у меня есть сейчас.

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

я хотел бы показать

Пять баллов = 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(); 
    } 

} 
+0

это не работает? 'myDataSet.Table [0] .Rows [0] .Field (« rankCount »);' – Romoku

+0

не пробовал не уверен, как получить конкретное значение, например, если его ранг 5, как мне получить этот счет? – Neo

ответ

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

using asp.net У меня есть раздел на веб-странице 5, как я могу разместить этот конкретный счет в этом поле? – Neo

+0

@Neo Нет подсказки, если вы не публикуете свой код. – Romoku

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 
Смежные вопросы