首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL基于位置从总数中选择百分比

SQL基于位置从总数中选择百分比
EN

Stack Overflow用户
提问于 2016-11-09 00:59:42
回答 2查看 75关注 0票数 2

我想解决以下问题:

给出每种运动类型的项目在区域10中占该体育类型项目总数的百分比。

我有两张桌子:

events :列出所有体育赛事。列‘sport_type’定义了运动事件的类型;它有一个点几何图形。

zone:列出所有区域,其名称为ex。‘10区’它们有多边形几何学。

若要列出我所拥有的每一类体育项目的数量:

代码语言:javascript
复制
select e.sport_type as Sport_Type, count(e.sport_type) as Number_of_Events
from events e
group by e.sport_type

为了列出第10区每种类型的运动项目的数量,我有:

代码语言:javascript
复制
select e.sport_type as Sport_Type, count(e.sport_type) as Number_of_Events
from events e
inner join zones z
on st_contains(z.geom, e.geom)
where z.name = 'region 10'
group by e.sport_type

为了解决这个问题,我尝试过这样的方法,但没有奏效:

代码语言:javascript
复制
select e1.sport_type as Sport_Type,  (x.Numev / count(e1.sport_type)) as Number_of_Events
from events e1, (select e2.sport_type as evtype, count(e2.sport_type) as Numev
from programs e2
inner join zones z
on st_contains(z.geom, e2.geom)
where z.name = 'region 10'
group by e2.sport_type) x
group by e1.sport_type, x.Numev
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-09 02:54:02

使用两个子选择创建一个非常不言自明的查询:

代码语言:javascript
复制
SELECT sport_type, 100. * r10.total / sports.total AS r10_percent
FROM (
    SELECT sport_type, count(sport_type) AS total
    FROM events
    GROUP BY sport_type) sports
JOIN (
    SELECT sport_type, count(sport_type) AS total
    FROM events
    JOIN zones ON ST_Contains(zones.geom, events.geom)
    WHERE zones.name = 'region 10'
    GROUP BY events.sport_type) r10 USING (sport_type);
票数 1
EN

Stack Overflow用户

发布于 2016-11-09 08:44:11

还没有测试,只是尝试,因为您有很多事件,您可以很容易地计算百分比(例如:1多选择外部)

代码语言:javascript
复制
select 
    e.sport_type as Sport_Type, 
    count(*) as totalEvents,
    sum(CASE 
            WHEN z.name = 'region 10' THEN 1
            ELSE 0
        END
    ) as totalEventsInRegion10
from events e
    left join zones z on st_contains(z.geom, e.geom)
group by e.sport_type
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40498875

复制
相关文章

相似问题

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