首页 新闻 会员 周边 捐助

求一条SQL语句。

0
[已解决问题] 解决于 2018-12-19 17:07

table

① 根据code,name分组。

② 取相同code,name子条数最多的,分组后的前十条。

不知道如何表达清楚,就是分组后取前十条,这十条是根据分组条件下(相同codel,name),子条数count数量多的前十条。

SQL
你猜丶的主页 你猜丶 | 初学一级 | 园豆:135
提问于:2018-09-27 11:49

最好还是用linq写出,嘿

你猜丶 6年前
< >
分享
最佳答案
0

分组、排序、取前10,你试试
list.GroupBy(m => m.code + m.name).OrderByDescending(m => m.Count()).Take(10).ToList();

奖励园豆:5
顾星河 | 大侠五级 |园豆:7294 | 2018-09-27 17:11

赋一下值
var newList=list.GroupBy(m => m.code + m.name).OrderByDescending(m => m.Count()).Take(10).ToList();

顾星河 | 园豆:7294 (大侠五级) | 2018-09-27 17:12
其他回答(2)
-1

select top 10, code,name from db

group by code,name

order by count(*) desc

徒然喜欢你 | 园豆:1741 (小虾三级) | 2018-09-27 14:29
0

不是很明白你到底是要取什么。
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;

AYard | 园豆:436 (菜鸟二级) | 2018-10-11 15:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册