繁体   English   中英

需要有关 Spark-SQL Databricks 子查询的帮助

[英]Need help on sub-query of Spark-SQL Databricks

我在下面提到了 SQL 并得到了下面提到的数据集作为结果。 但我只想显示一个具有最小日期的打开状态记录。

SELECT distinct o.svc_ord_nbr AS SVC_ORD_NBR,
  o.svc_ord_stat_nm AS SVC_ORD_STAT_NM,
  min(t.start_date_est) AS STRT_DT_EST, t.status_text
FROM A o inner join B t on t.ticket=o.notif_nbr
  and o.svc_ord_nbr in ('021519_574819','110714_246149')
Group by o.svc_ord_nbr, o.svc_ord_stat_nm, t.status_text

结果数据集如下所示: 在此处输入图像描述

我只想要具有 STRT_DT_EST 最小值的第一行。 提前致谢...

您是否尝试过针对此用例使用 window 函数。

spark.sql(
 “””
 |SELECT a.*,
 |ROW_NUMBER() OVER(PARTITION BY dept ORDER BY salary) as rn,
 |RANK() OVER(PARTITION BY dept ORDER BY salary) as rank,
 |DENSE_RANK() OVER(PARTITION BY dept ORDER BY salary) as dense_rank,
 |PERCENT_RANK() OVER(PARTITION BY dept ORDER BY salary) as percent_rank,
 |NTILE(3) OVER(PARTITION BY dept ORDER BY salary) as ntile
 |FROM employee a
 |”””.stripMargin).show(false)

暂无
暂无

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

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