gpt4 book ai didi

mysql - 如何找到计数 > 7 的值出现次数最多的方法

转载 作者:行者123 更新时间:2023-11-29 02:49:46 25 4
gpt4 key购买 nike

表名:d_risposteid:索引,唯一不相关回复:从1到4

id | reply | user
-----------------
| 1 | a34
| 2 | a34
| 1 | a34
| 3 | a34
| 2 | a34
| 4 | a34
| 1 | a34
| 1 | a34
| 4 | a55
| 2 | a55
| 2 | a55
| 4 | a71
| 4 | a71
| 1 | a71
| 3 | a71
| 4 | a71
| 2 | a71
| 4 | a71
| 4 | a71
| 2 | b22
| 4 | b22
| 2 | b22

我只想保留以“a”开头且至少有 7 个回复的用户,然后我想计算重播 1..4 的大多数类型,在这种情况下结果应该是:

   user | top_reply
----------------
a34 | 1 (becouse the 1 reply appears 4 times)
a71 | 4 (becouse the 4 reply appears 5 times)

(如果是平局,则重要)

所以我的查询是:

SELECT user FROM `d_risposte` WHERE user LIKE 'a%' group by user having count(*) > 7

表格结果应该是:

user
----
a34
a71

那么我应该算大部分回复:但我不知道如何在一个查询中做,我尝试类似的东西......

SELECT reply, COUNT(reply) AS fooCount FROM d_risposte WHERE user ????????? GROUP BY reply ORDER BY COUNT(reply) DESC LIMIT 1

我想不通:(

最佳答案

这是一个有趣的问题,试试这个:

SELECT DISTINCT t.user,
(SELECT s.reply FROM d_risposte s
WHERE s.user = t.user
GROUP BY s.reply
ORDER BY count(*) DESC limit 1) as top_reply
FROM d_risposte t
INNER JOIN(SELECT d.user FROM d_risposte d
WHERE d.user like 'a%'
GROUP BY d.user
HAVING count(*) > 6) t2
ON(t2.user = t.user)

这基本上会为每个用户选择 top_reply ,然后加入一个表以过滤那些少于 7 条记录且不以 a 开头的用户/p>

关于mysql - 如何找到计数 > 7 的值出现次数最多的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37375607/

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