选择产品访问次数相同的产品 ID 时如何解决冲突

How do i resolve conflict when selecting productid whose product visit have same occurences

我的数据库Table包含这样的记录:

ID   ProductId  Occurences
1        1          1
2        2          5
3        3          3
4        4          3
5        5          5
6        6          8
7        7          9

现在我想获得出现次数最多的前 4 个 ProductId

这是我的查询:

 var data = (from temp in context.Product
                        orderby temp.Occurences descending
                        select temp).Take(4).ToList();

现在这里是因为 ProductId 2 和 5 有相同的出现,ProductId 3 和 4 也有相同的出现,那么在这里我不知道如何解决这意味着我应该采用哪个产品 ID 因为他们有相同的事件。

基本上我 select 正在使用此产品 ID 在我的 website.i 上显示此产品将显示此查询 return 的那些产品。

所以谁能给我一些想法,比如如何解决这个问题???

预期输出:

 ID   ProductId  Occurences
 1        7         9
 2        6         8

所以现在对于第 3 个位置,我应该 select 因为 ProductId 2 和 5 具有相同的出现次数,对于第 4 个位置,我应该 select 在 3 和4因为他们也有相同的出现。

我可以建议你使用 group by technique 并选择第一个

context.Product.GroupBy(p => p.Occurance)
                       .Select(grp => grp.FirstOrDefault())
                       .Take(4)ToList();

抱歉,我没有对此进行测试,但它应该可以完成工作。您只需添加 OrderBy 即可。