table
① 根据code,name分组。
② 取相同code,name子条数最多的,分组后的前十条。
不知道如何表达清楚,就是分组后取前十条,这十条是根据分组条件下(相同codel,name),子条数count数量多的前十条。
分组、排序、取前10,你试试
list.GroupBy(m => m.code + m.name).OrderByDescending(m => m.Count()).Take(10).ToList();
赋一下值
var newList=list.GroupBy(m => m.code + m.name).OrderByDescending(m => m.Count()).Take(10).ToList();
select top 10, code,name from db
group by code,name
order by count(*) desc
不是很明白你到底是要取什么。
select * from table where code = (select code from table group by code,name order by count() desc limit 1) and name = (select name from table group by code,name order by count() desc limit 1) limit 3;
最好还是用linq写出,嘿
– 你猜丶 6年前