显示 asp.net razor 中 sql 列的总数

Display the total number from a sql column in asp.net razor

我认为这很容易找到答案,但看了这里、W3Schools 和 asp.net 后我不知所措。

我想在 as cshtml 网站上显示添加的 sql 列总数。这是一个慈善活动,人们报名并提供他们将要认捐的金额。我基本上想说:

<h2>"Total Raised So Far!"</h2>
<div>sum of the Pledge column from the Players table</div>

我目前正在使用以下代码显示所有注册的人和他们的承诺:

@{
var db = Database.Open("BBBT");
var selectQueryString = "SELECT * FROM Players ORDER BY Team";
}

剪断

<table>
  <thead>
   <tr>
       <th>Team</th>
       <th>First Name</th>
       <th>Last Name</th>
       <th>Pledge</th>
   </tr>

 @foreach(var row in db.Query(selectQueryString)){
    <tr>
           <td>@row.Team</td>
           <td>@row.FName</td>
           <td>@row.LName</td>
           <td>$@row.Pledge</td>

    </tr>
   }

如有任何帮助,我们将不胜感激!

SELECT sum(pledge)
FROM Players 
GROUP BY Team
ORDER BY Team

希望这就是您想要做的。

因为您已经获取了所有需要的行,所以最简单的方法是根据查询结果计算总和。所以我会稍微扩展代码。求和和箭头所在的行使用了Linq技术。

@{
    var db = Database.Open("BBBT");
    var selectQueryString = "SELECT * FROM Players ORDER BY Team";
    var results = db.Query( selectQueryString );
    int SumOfPledges = 0;
    SumOfPledges = results.Sum( x => x.Pledge);

}

然后在下面的 html 中,除了循环

@foreach(var row in results){

最后在代码之后的循环上方或下方添加您想要的位置:

<h1>Total Pledges:   @SumOfPledges</h1>

现在我将 SumOfPledges 设为 int,这意味着像整数一样的整数。如果它可以包含小数,您可能需要将其设为双精度或小数。类型需要与数据库中的内容相匹配。