我有一个销售数据库,该数据库在 CountryCode 列中记录了商品销售地的 2 个字符国家代码。在销售数据库中,没有数量列,基本上每一行代表1次销售,以及与该次销售相关的信息。
我将能够展示最畅销的国家/地区。这是我提出的 linq 查询:
List<TopSellingCountries> tsc = (from sale in Sales
where sale.CountryCode != null
group sale by sale.CountryCode into cc
select new TopSellingCountries
{
CountryCode = cc.Select(c => c.CountryCode).FirstOrDefault(),
CountryCount = cc.Count()
}).OrderByDescending(c => c.CountryCount).Take(10).ToList();
但是,当我将其输出到我的视图时,我会得到一个包含以下信息的表格:
CountryCode | CountryCount
US | 196
IE | 168
US | 99
GB | 91
IE | 57
AU | 32
GB | 22
AU | 18
CA | 17
CA | 17
如您所见,它似乎没有按国家代码正确分组。有谁知道我该如何克服这个问题?
编辑:如果有人需要,这是视图中的代码:
<table class="normal">
<tr>
<th>Country Code</th>
<th>Country Count</th>
</tr>
<% foreach (var item in Model.TopSellingCountries)
{ %>
<tr>
<td><%: item.CountryCode %></td>
<td><%: item.CountryCount %></td>
</tr>
<% } %>
</table>