获得特定电子邮件的所有农民的百分比

问题描述 投票:0回答:2

我需要计算并使用特定电子邮件的用户所占百分比。就像所有人使用@gmail.com一样,有55%的人。我只有一张桌子,什么桌子上的日期是[email protected][email protected]

我找不到解决方案。我在like函数中尝试了Count运算符,但对我不起作用...收到错误:

['附近的语法不正确]

请帮助我。这是我的查询:

SELECT  email, count(email Like '%[email protected]') * 100.0 / sum(count(*)) over(), count(email Like 
 '%[email protected]') * 100.0 / sum(count(*)) over()
FROM people 
GROUP BY email
ORDER BY COUNT(*) DESC
sql sql-server tsql
2个回答
0
投票

count(email Like '%[email protected]')没有任何意义,它只是一个Wayawrd布尔表达式。

可疑您想要的是

 SELECT email,
        COUNT(CASE WHEN email Like '%[email protected]' THEN 1 END) * 100.0 / count(email) over(), --Count perform a COUNT in a SUM
        COUNT(CASE WHEN email Like '%[email protected]' THEN 1 END) * 100.0 / COUNT(email) over()
 FROM people 
 GROUP BY email;

但是,我无法进行测试以确保其正常工作。


0
投票
SELECT 
 (SUM(CASE WHEN email Like '%[email protected]' THEN 1 ELSE 0 END) / count(*)) * 100
FROM people 
© www.soinside.com 2019 - 2024. All rights reserved.