gpt4 book ai didi

mysql - SQL:计算其他表中的百分比以及要过滤的用户百分比?

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

我有两张 table 。第一个称为“用户”,如下所示:

id | Username
----------------------
1 | time
2 | bill
3 | jeff

第二个称为“帖子”,如下所示:

id | user | category
----------------------
1 | bill | 3
2 | tim | 1
3 | bill | 3
4 | bill | 2

类别列中的每个不同数字对应一个类别。

<小时/>

我正在尝试创建一个 SQL 查询,该查询将获取在特定类别中帖子数量超过 10% 的所有用户。这是我当前(不工作)的类别 3 代码:

SELECT 
u.Username,
(
(SELECT COUNT(*) FROM posts WHERE user=u.Username AND category=3)
/ (SELECT COUNT(*) FROM posts WHERE user=u.Username)
* 100
) AS percentage
FROM users u
WHERE percentage > 10

这个查询理论上应该返回“bill”。然而,这不起作用!我是否在某个地方有语法错误,或者我的方法是否不好/错误?

最佳答案

您可以直接查询 posts 表,而不是使用所有这些子查询:

SELECT Username,
(SUM(Category = 3) / COUNT(*)) * 100 AS percentage
FROM posts
GROUP BY 1
HAVING percentage > 10

关于mysql - SQL:计算其他表中的百分比以及要过滤的用户百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061166/

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