MAX小学和中学?

问题描述 投票:0回答:1

在下面的数据示例中,我想按

groupcol
进行分组,并在组内按
val
col 排序,如果不存在 val 则按
ID
进行二次排序。

了解第一个 MAX 值(下面的 SQL),但如果不存在 VAL,如何实现第二个 MAX?

SELECT ID,MAX(VAL), GROUPCOL FROM table GROUP BY GROUPCOL
身份证 瓦尔 集团
1 10 1
2 2
3 2
4 3
5 3
6 9 1
7 1

想退货

身份证 瓦尔 集团
1 10 1
3 2
5 3
mysql group-by max
1个回答
0
投票

在按

ID
分组后,您需要指定要为
GROUPCOL
列返回哪个值。对于 GROUPCOL=1,MySQL 可以选择返回任一值 1,6,7。当你想要 1 时,你应该指定
MIN()
;当你想要返回 7 时,你应该指定 MAX:
SELECT
   MAX(ID),
   MAX(VAL),
   GROUPCOL
FROM mytable
GROUP BY GROUPCOL;

输出:

最大(ID)735
最大(值) 集团
10 1
2
3
参见:
DBFIDDLE

© www.soinside.com 2019 - 2024. All rights reserved.