gpt4 book ai didi

mysql - SQL:按多个限制分组

转载 作者:行者123 更新时间:2023-11-29 05:01:24 25 4
gpt4 key购买 nike

我有一个简单的表,id,key,level,表和数据是这样的:

id key level
1 a 1
2 a 2
3 a 3
4 a 3
5 b 1
6 b 3
7 c 1
8 c 2
9 c 2

问题是:我传入了一个id数组(数据库支持在操作中查找),我只想计算给定id列表中的最高级别并按键分组。例如:我传入[2,3],返回的数据应该是:

key toplevel count
a 3 1

我传入[2,3,8,9],返回的数据应该是:

key toplevel count
a 3 1
c 2 2

不知道我的问题描述清楚没有(英文不好),有不懂的可以问我。

最佳答案

这将适用于 PostgreSQL。

Select * from(
Select
keyss,
levels,
counts,
ROW_NUMBER() OVER ( partition by keyss
order by levels desc) as rownum
from
(Select keyss, levels, count(*) as counts from test where id in (2,3,4,5) group by keyss, levels) as X
) as Y
Where Y.rownum = 1;

你可以在MySQL中模拟row_number或者我认为在最新版本的MySql中应该有类似的功能可以使用。

关于mysql - SQL:按多个限制分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58551162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com