我的数据库有一个销售表,其中包含如下条目:
_____________________________________
| id | title_id | qty |
-------------------------------------
| 0 | 6 | 10 |
-------------------------------------
| 1 | 5 | 5 |
-------------------------------------
| 2 | 6 | 2 |
-------------------------------------
Title_id 是指向 Titles 表的外键,如下所示:
_____________________________________
| id | title_id | title |
-------------------------------------
| 0 | 5 | Soda |
-------------------------------------
| 1 | 6 | Coffee |
-------------------------------------
我想找到销量最高的 5 种产品,这意味着我需要计算每个产品在销售表中输入的所有产品的数量值,然后按数量按降序排列结果并将选择限制为 5。
但是,我是 C# ASP.NET 的新手,对 SQL 也有些陌生。我不知道如何用 LINQ 做到这一点。到目前为止,这是我的代码:
var getIds = (from sale in db.sales
join tit in db.titles on sale.title_id equals tit.title_id
group sale by sale.qty into result
orderby result.Sum(i => i.qty) descending
select new Publication
{
PubID = sales.title_id, Title = tit.title
}
).Take(5);