sql - 在 SQL 中计算百分比

标签 sql sql-server count division percentage

我正在尝试用 SQL 计算百分比。我想找出以“RT @”开头的输出百分比

CREATE TABLE temp
    ([tweet] varchar(130))    ;

INSERT INTO temp
    ([tweet])
VALUES
    ('WillyWonka'),
    ('Barbara'),
    ('JoanOfArcJoanArcadia'),
    ('LisaDLisa Diddle'),
    ('LisaDSkip Padington'),
    ('WillyNillySiil Stoinson'),
    ('RT @Barbara'),
    ('JoanOfArcJoanArcadia'),
    ('LisaDLisa Diddle'),
    ('RT @LisaDSkip Padington')
;

我的代码正确地返回了我想看到的行,但是我如何计算这些行在总输出中的百分比...我知道它是选择两个部分并将它们分开的东西,但我无法得到它对。

select count(*) 
from temp
where tweet like 'RT @%'

select * 
from temp
where tweet like 'RT @%'

我已经阅读了其他一些帖子,但距离获得输出还很远。 谢谢。

最佳答案

您需要条件聚合来查找以'RT @'开头的输出百分比

SELECT ( Count(CASE WHEN tweet LIKE 'RT @%' THEN 1 END) 
                     / Cast(Count(*) AS NUMERIC(10, 2)) ) * 100
FROM   temp 

关于sql - 在 SQL 中计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28994707/

相关文章:

R - 按中断切割并按组计算出现次数

python - Pandas : Count Intervall

c++ - 使用标准库对 vector 的 vector 进行排序并计算唯一出现的频率

sql - 使用 TOP 和 GROUP BY

MySQL 错误 1241 (21000) : Operand should contain 1 column(s) on returning entries before update

sql-server - 如何在Azure Sql数据库中生成无间隙的严格递增数字

sql-server - 检查 SQL Server 2005 存储过程中是否存在文件的最佳方法是什么?

python - sqlalchemy中执行之前如何知道sql查询结果的类型

sql - 用什么替换 View 中的左连接以便我可以拥有索引 View ?

sql - 获取每个 ID 的最新状态和日期