繁体   English   中英

如何在 Google BigQuery 中返回 SECOND GREATEST 值

[英]How can I return the SECOND GREATEST value in Google BigQuery

我在ON子句中有一个CASE语句:

ON A.month = CASE WHEN (B.month = GREATEST(B.month)) 
             THEN B.month - 1  
             ELSE B.month 
             END

它将 function 直到这一年结束。

有没有办法返回第二个 GREATEST 值而不是使用B.month - 1
类似于 Excel function LARGE(*array*, 2)的东西?

子查询似乎在ON子句中不起作用。

请尝试关注 SQL 以获得第二大值:-

SELECT *
FROM (
  SELECT Coll, 
         row_number() over (order by Coll desc) as row_num
  FROM `project.dataset.table`
) t
WHERE row_num = 2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM