基本上尝试为我的查询计划逻辑,该逻辑将计算每次使用某一行的次数(我不需要我需要的次数或任何东西来订购按主要使用行值的产品。)
示例:
我有购买 购买表有一行名为'product_id' 我现在尝试查询此表,查找使用SAME product_id的次数,然后按照使用product_id的最高次数对查询进行排序。
我尝试了一些事情,但是我对实际逻辑有点迷失,所以我完全明白我所尝试的东西不起作用(在我的头脑中没有意义,但我不得不尝试一些东西)。
var grabProducts = db.fixed_purchases.GroupBy(fp => fp.product_id)
.Select(fp => new fixed_purchases
{
Count = fp.Count()
}).ToList();
我现在能做的最好的事情。再次,逻辑是我迷失的地方。我不一定需要答案,但逻辑会做得很好。
我正在使用ASP C#Linq,但考虑到这是一个SQL问题并不重要,所以请不要看Linq,我只想发布我正在尝试的代码。
答案 0 :(得分:1)
您只需要在OrderBy
之后使用GroupBy
子句根据计数对组进行排序:
var grabProducts = db.fixed_purchases
.GroupBy(fp => fp.product_id)
.OrderByDescending(g => g.Count());
然后,如果您想让产品ID按降序排序,您可以添加Select
:
var grabProducts = db.fixed_purchases
.GroupBy(fp => fp.product_id)
.OrderByDescending(g => g.Count())
.Select(g => g.Key)
.ToList();