首页 > 解决方案 > Django:groupby 获得第一行

问题描述

我有桌子

型号名称:Test

id col1 col2 col3 col4 .....
1   A   1
2   A   1
3   A   3
4   B   1
5   B   1
6   B   4
7   D   2
8   D   3
9   D   3
10  F   3
11  B   4

我想获取所有具有 col1 和 col2 的唯一组合的行以及具有最近 id 的行以及 col1 和 col2 的唯一组合的总数

count   id col1 col2 col3 col4 .....
2       11  B   4
1       10  F   3
1       9   D   3
1       7   D   2
2       5   B   1
1       3   A   3
1       2   A   1

后来我想对 wrt 计数和 id 进行排序。但我也想要上表

count   id col1 col2 col3 col4 .....
2       11  B   4
2       5   B   1
1       10  F   3
1       9   D   3
1       7   D   2
1       3   A   3
1       2   A   1

我怎么能得到这个

我正在使用 mysql

标签: mysqldjango

解决方案


SELECT count(*) as count,max(id) as id,col1,col2 FROM test group by col1,col2 order by id desc;  

种类:

SELECT count(*) as count,max(id) as id,col1,col2 FROM test group by col1,col2 order by count desc,id desc;

推荐阅读