我有2张桌子。第一个,称为“用户”看起来像这样:SQL:计算其他表中的百分比以及要过滤的用户百分比?
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
这个查询理论上应该返回'账单'。但是,它不起作用!我在某处是否有语法错误,或者我的方法是错误的?
是什么意思? – ysth
从下面的帖子中,我相信这是因为我的'百分比'在哪里列。 –
这仍然没有说明你有什么问题。它炸毁了吗?返回42?或'橙色'?它没有用,但它做了什么?现在不相关,但请在下次有问题时尝试说出。 – ysth