我需要计算并使用特定电子邮件的用户所占百分比。就像所有人使用@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
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;
但是,我无法进行测试以确保其正常工作。
SELECT
(SUM(CASE WHEN email Like '%[email protected]' THEN 1 ELSE 0 END) / count(*)) * 100
FROM people