计算 SQL 中的百分比
Calculating a percentage in SQL
我正在尝试计算 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')
;
我的代码 returns 我想看到的正确行但是我如何计算这些行在总输出中的百分比...我知道选择两个部分并将它们分开但是我没听清楚。
select count(*)
from temp
where tweet like 'RT @%'
或
select *
from temp
where tweet like 'RT @%'
我已经阅读了一些其他帖子,但离获得结果还差得很远。
谢谢你。
您需要一个子查询来查找红利。像这样。
select (count(t.*) / (select count(*) from temp)) as percentage
from temp t
where tweet like 'RT @%'
您需要 conditional Aggregate
才能找到以 'RT @'
开头的输出百分比
SELECT ( Count(CASE WHEN tweet LIKE 'RT @%' THEN 1 END)
/ Cast(Count(*) AS NUMERIC(10, 2)) ) * 100
FROM temp
SELECT
(SELECT COUNT(*) FROM temp WHERE tweet LIKE 'RT @%') /
(SELECT CAST(COUNT(*) AS MONEY FROM temp)) * 100
SELECT (CONVERT(DECIMAL, COUNT(CASE WHEN tweet LIKE 'RT @%' THEN 1 END)) / COUNT(1)) * 100
FROM temp
我正在尝试计算 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')
;
我的代码 returns 我想看到的正确行但是我如何计算这些行在总输出中的百分比...我知道选择两个部分并将它们分开但是我没听清楚。
select count(*)
from temp
where tweet like 'RT @%'
或
select *
from temp
where tweet like 'RT @%'
我已经阅读了一些其他帖子,但离获得结果还差得很远。 谢谢你。
您需要一个子查询来查找红利。像这样。
select (count(t.*) / (select count(*) from temp)) as percentage
from temp t
where tweet like 'RT @%'
您需要 conditional Aggregate
才能找到以 'RT @'
SELECT ( Count(CASE WHEN tweet LIKE 'RT @%' THEN 1 END)
/ Cast(Count(*) AS NUMERIC(10, 2)) ) * 100
FROM temp
SELECT
(SELECT COUNT(*) FROM temp WHERE tweet LIKE 'RT @%') /
(SELECT CAST(COUNT(*) AS MONEY FROM temp)) * 100
SELECT (CONVERT(DECIMAL, COUNT(CASE WHEN tweet LIKE 'RT @%' THEN 1 END)) / COUNT(1)) * 100
FROM temp