首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相交N width_buckets

相交N width_buckets
EN

Stack Overflow用户
提问于 2017-10-01 17:40:11
回答 1查看 49关注 0票数 1

我试着从带桶的列中提取子集,然后取交叉口。

这将从原始表中选择其他列。

我也对串联过滤开放。

下面的代码报告col1不存在--不确定它是否是正确的方法。

代码语言:javascript
复制
WITH ranges AS (
    SELECT 
    min(col1) AS c1min, 
    max(col1) AS c1max,
    min(col2) AS c2min,
    max(col2) AS c2max
    FROM csv_test
),
f1 AS (
    SELECT width_bucket(col1,c1min,c1max,12) AS b1
    FROM csv_test, ranges 
    ORDER BY b1 ASC
),
f2 AS (
    SELECT width_bucket(col2,c2min,c2max,12) AS b2
    FROM csv_test, ranges 
    ORDER BY b2 ASC
)
SELECT b1, b2, c3, c4, c18
FROM csv_test
WHERE 
b1 BETWEEN 0 AND 5
AND
b2 BETWEEN 3 AND 7;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-03 14:11:56

您可以使用LATERAL连接:

代码语言:javascript
复制
SELECT t.*, s2.*
FROM csv_test t
,LATERAL (SELECT 
           min(col1) AS c1min, 
           max(col1) AS c1max,
           min(col2) AS c2min,
           max(col2) AS c2max
           FROM csv_test) AS s
,LATERAL (SELECT width_bucket(col1,c1min,c1max,12) AS b1,
                 width_bucket(col2,c2min,c2max,12) AS b2) AS s2
WHERE b1 BETWEEN 0 AND 5
  AND b2 BETWEEN 3 AND 7;

DBFiddle演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46515092

复制
相关文章

相似问题

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