【发布时间】:2015-04-28 18:02:15
【问题描述】:
作为我大学工作的一部分,我正在编写一些 SQL 代码。为了清楚起见,数据是人为的。我正在尝试计算 SQL 表 Fact_Stream 中 1 和 0 的出现次数,这作为布尔值/位值存储在 Free_Stream 列/属性中。
由于无法对位值进行计算(至少以我尝试的方式),我已将值转换为整数——只是为了清楚这一点。该表包含有关流媒体公司流的信息,1 表示流是免费的,0 表示流是付费的。我的代码:
SELECT Fact_Stream.Free_Stream, ((CAST(Free_Stream AS INT)) / COUNT(*) * 100) As 'Percentage of Streams'
FROM Fact_Stream
GROUP BY Free_Stream
结果/输出几乎是我想要的,但它没有正确显示百分比。
输出:
使用 MS SQL Management Studio | MS SQL Server 2012(我相信)
【问题讨论】:
-
您的等式是将标识符(1 或 0)除以每个流的数量,而不是将免费或付费的数量除以总数量
-
您好,感谢您的评论@JenR,我明白您的意思,但我不知道如何将其放入 SQL 中??
标签: sql sql-server