gpt4 book ai didi

mysql - 对同一列进行 COUNT 两次

转载 作者:行者123 更新时间:2023-11-29 07:00:40 25 4
gpt4 key购买 nike

我试图在不同的条件下对同一列进行两次计数,最后进行计算以了解一定的百分比。

该列填充了从 1 到 10 的多个数字,我想知道该数字大于 6 的行的百分比。

我有一个想法来检索数字:

SELECT number, Sum(number> 6) as number_sup_to_6 FROM table;

但我想在检索这些数据后计算大于 6 的数字占总数的百分比:((n>6)/n)*100

然后我从之前的帖子中获得灵感来进行计算:

concat(round(( number_sup_to_6 /number* 100 ),2),'%') AS percentage

问题是,我不知道如何将这 2 条 sql 放在一起,有人可以帮助我如何理解如何将它们组合在一起吗?

感谢您的帮助。

最佳答案

使用CASE语句

SELECT number, (number_sup_to_6/total_count)*100 AS percentage
FROM
(SELECT number,
COUNT(CASE WHEN number > 6 THEN number ELSE NULL END) AS number_sup_to_6,
COUNT(number) AS total_count FROM table_name
GROUP BY number) AS a

关于mysql - 对同一列进行 COUNT 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43597000/

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