2013-03-02 49 views
-1

我想出了我的答案在本節的底部。在數據集的列存儲結果中選擇查詢計數特定值

任何幫助將是偉大的謝謝你。

我有一個表與一個名爲排名列可以從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 2013-03-02 02:30:54

+0

還沒有試過不確定如何得到具體的價值,例如如果它的等級爲5我如何得到這個數? – Neo 2013-03-02 02:43:58

回答

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

使用asp.net我有一個網頁上的一個部分叫5如何將該特定的計數在該字段? – Neo 2013-03-02 02:45:57

+0

@Neo除非您發佈您的代碼,否則不會提供線索。 – Romoku 2013-03-02 02:46:53

0

這種事情是在數據庫更爲適合,速度更快。所以,我會做:

(我有類似的數據表,所以我的「目標類型」等同於您的「等級」)

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 
相關問題