首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询不产生结果

SQL查询不产生结果
EN

Stack Overflow用户
提问于 2018-01-18 00:42:25
回答 1查看 39关注 0票数 0

我有一个表,记录了各种集群的大小以及集群被扫描的日期。我需要根据最近的扫描日期获得每个集群在每个月的大小。我尝试在Impala SQL中执行以下查询,但没有产生结果。

代码语言:javascript
复制
Scandata    cluster  Size
11/4/2017   ABC 200
11/18/2017  ABC 700
11/25/2017  ABC 1009
12/4/2017   ABC 200
12/18/2017  ABC 700
12/20/2017  ABC 1100
1/4/2018    ABC 200
1/18/2018   ABC 700
1/20/2018   ABC 1009
11/4/2017   CAD 200
11/18/2017  CAD 700
11/25/2017  CAD 1009
12/4/2017   CAD 200
12/18/2017  CAD 700
12/20/2017  CAD 1100

预期结果

代码语言:javascript
复制
Data    cluster  Size
11/25/2017  ABC 1009
12/20/2017  ABC 1100
1/20/2018   ABC 1009
11/25/2017  CAD 1009
12/20/2017  CAD 1100


SELECT t.*
FROM arxview.test_summary t
INNER JOIN
(SELECT MONTH(scandate) AS month, MAX(DAY(scandate)) AS day, cluster
 FROM arxview.test_summary t
 GROUP BY MONTH(scandate), cluster) sub
ON (MONTH(t.scandate) = sub.month AND DAY(t.scandate) = sub.day AND t.cluster = sub.cluster)
EN

回答 1

Stack Overflow用户

发布于 2018-01-18 00:45:25

另一种方法是使用窗口函数:

代码语言:javascript
复制
select ts.*
from (select ts.*,
             max(scandate) over (partition by year(scandate), month(scandate) as max_scandate_monthly
      from arxview.test_summary t
     ) ts
where scandate = max_scandate_monthly;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48306033

复制
相关文章

相似问题

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