如果我的数据库中有用户电子邮件条目,并且我想查看有多少用户拥有该域@gmail.com
以及有多少用户拥有该域@yahoo.com
等等。最好的方法是什么?
现在我正在通过执行以下操作逐个手动运行查询:
select email from "user" where email ilike '%@gmail.com';
答案 0 :(得分:17)
我的第一个想法是通过以下方式提取域和组:
select substring(email from '@(.*)$') as domain, count(*)
from "user"
group by domain
答案 1 :(得分:0)
这是另一种方法:
select dm.domain, count(*) as total
from (
select lower(right(email, char_length(email) - position('@' in email))) as domain
from "user"
group by domain, email)dm
group by dm.domain
order by total desc