gpt4 book ai didi

mysql - 查找Mysql中哪个条目出现次数最多

转载 作者:行者123 更新时间:2023-11-29 05:31:06 26 4
gpt4 key购买 nike

我有一个这样的表 T :

ID | brand
2 | 100
2 | 300
2 | 300
1 | 100
1 | 200

我想找出哪个 ID、品牌组合出现超过 50% 的 ID。例如:这里的结果应该是

ID | brand
2 | 300

因为 (2,300) 在 ID 2 中出现了 3 次中的 2 次。在 ID1 中,两种组合都是 50% 的次数,因此 ID 1 没有行。
现在我是这样处理的:
首先,我找到了每个 ID、品牌组合的计数:

(select id,brand,count(*) c from T group by id,brand) as F

然后我列出所有满足上述条件的ID

select ID from F group by ID having max(c)/count(*) > 0.5

它工作得很好,但问题是我无法获得相应的品牌,因为在上面的查询中,我给了

select ID, brand ...

然后它总是给出表的第一个品牌。
这是 sql fiddle

最佳答案

这是我的第一次尝试。

SELECT ID, BRAND
FROM
(
SELECT t.ID, t.BRAND, s.TotalCount,
COUNT(*) * 1.0 / s.TotalCount Percentage
FROM T
INNER JOIN
(
SELECT ID, COUNT(*) totalCOunt
FROM T
GROUP BY ID
) s ON T.ID = s.ID
GROUP BY ID, BRAND
HAVING (COUNT(*) * 1.0 / s.TotalCount) > 0.5
) r

关于mysql - 查找Mysql中哪个条目出现次数最多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14662040/

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