【问题标题】:How can I display the sale from the country?如何显示来自该国家/地区的销售?
【发布时间】:2022-01-14 13:07:38
【问题描述】:

问题要求显示按销售人员分组的总销售额,并筛选仅在亚洲进行的销售。

这是我尝试过的代码:

 var reqtwo = list1
    .GroupBy(p => p.salesPerson)
    .Select(s => new {
            salesperson=  s.Key,
            totalSale = s.Sum(p => p.qty*p.price),
            asia = s.Where(c => c.country =="China" && c.country == "Hongkong" && c.country == "Malaysia" && c.country =="Indonesia" && c.country =="India")
                    })
    .OrderByDescending(p => p.totalSale)
    .ToList();
grid2.DataSource = reqtwo;

结果显示所有国家/地区的总销售额,而不是亚洲。

【问题讨论】:

  • 您确定这些国家必须通过&& 连接吗? || 不是更有意义吗?

标签: c# linq oop


【解决方案1】:

Where 必须在GroupBy 之前

var reqtwo = list1
        .Where(c => c.country =="Chiana" || c.country == "Hongkong" || c.country == "Malaysia" || c.country =="Indonesia" || c.country =="India")
        .GroupBy(p => p.salesPerson)
        .Select(s => new {
                    salesperson=  s.Key,
                    totalSale = s.Sum(p => p.qty*p.price)
                })
        .OrderByDescending(p => p.totalSale)
        .ToList();

我还将您的&& 更改为||,因为一个国家不能同时是中国和印度(例如)

【讨论】:

  • 非常感谢,我会努力的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多