gpt4 book ai didi

mysql - 查找每个 people_id 对应的具有最大计数的 role_id

转载 作者:行者123 更新时间:2023-11-30 01:32:31 24 4
gpt4 key购买 nike

我正在尝试使用 SQL 提取以下信息。表格结构如下:

person_id、role_id、计数

例如表:

p1, r1, 5
p1, r2, 3
p2, r1, 8
p1, r3, 7
p2, r2, 3
p3, r1, 10
p3, r2, 15

我想编写查询来为每个 people_id 提取具有最大计数的 role_id 。我怎样才能在MYSql或oracle DB中做到这一点

对于上表,输出应如下所示

p1, r3, 7
p2, r2, 8
p3, r2, 15

上述输出的解释:

p1 has the maximum count as r3 i.e. 7  
p2 has maximum count as r2 i.e. 8
p3 has maximum count as r2 i.e.15

我无法找出提取此数据的 SQL。有人可以帮我弄这个吗?

最佳答案

忽略名为 count 的列名(最好使用在任何 SQL 风格中都不太可能是保留字的名称):-

SELECT a.person_id, a.role_id, a.count
FROM table a
INNER JOIN
(
SELECT person_id, MAX(count) AS MaxCount
FROM table
GROUP BY person_id
) Sub1
ON a.person_id = Sub1.person_id AND a.count = Sub1.MaxCount

关于mysql - 查找每个 people_id 对应的具有最大计数的 role_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295314/

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