首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgres查询的子查询计数()

postgres查询的子查询计数()
EN

Stack Overflow用户
提问于 2018-12-07 02:58:48
回答 1查看 2.4K关注 0票数 2

我有两个表与网络流量,我加入和可视化在地图上。

我正在尝试编写一个计数器,该计数器创建一个查询结果,计数特定IP地址出现在日志中的次数。我认为这将采取子查询的形式,该子查询返回主查询所选择的特定行的行数。

当我运行以下查询时,我得到的错误是more than one row returned by a subquery used as an expression

代码语言:javascript
复制
select
squarespace_ip_addresses.ip,
squarespace_ip_addresses.latitude,
squarespace_ip_addresses.longitude,
st_SetSrid(ST_MAKEPOINT(squarespace_ip_addresses.longitude, squarespace_ip_addresses.latitude), 4326) as geom,
(select count(hostname) from squarespace_logs group by hostname) as counter,
squarespace_logs.referrer
from
squarespace_ip_addresses
left outer join
squarespace_logs
on
squarespace_ip_addresses.ip = squarespace_logs.hostname

向我建议的是select中的一个子查询,它通过主查询输出对每一行运行该查询。

有人有洞察力吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-07 03:23:08

将数据聚合到派生表中( FROM子句中的子查询):

代码语言:javascript
复制
select
    a.ip,
    a.latitude,
    a.longitude,
    st_SetSrid(ST_MAKEPOINT(a.longitude, a.latitude), 4326) as geom,    
    c.count,
    l.referrer
from squarespace_ip_addresses a
left join squarespace_logs l on a.ip = l.hostname
left join (
    select hostname, count(*)
    from squarespace_logs
    group by hostname
    ) c on a.ip = c.hostname
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53662604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档