gpt4 book ai didi

sql - 使用 JOB_TITLE 和 EVENT_DATE 查找上次换工作的日期

转载 作者:行者123 更新时间:2023-12-05 06:50:55 24 4
gpt4 key购买 nike

您好,我正在 Azure Databricks 中工作,我正在寻找 SQL 查询解决方案。

假设我的数据库有五列:

<表类=“s-表”><标题>IDEVENT_DATEJOB_TITLE付款 <正文>123452021-01-01VP1100,000123452020-01-10VP190,000123452019-01-20分析师180,000123462021-02-01VP2200,000123462020-02-10分析师2150,000123462020-01-20分析师2110,000

基本上我想要的是上次 JOB_TITLE 更改时的 EVENT_DATE。这是我想要的输出:

<表类=“s-表”><标题>IDJOB_TITLE付款LAST_JOB_CHANGE_DATE <正文>12345VP190,0002021-01-1012346VP2200,0002021-02-01

对于最后一列 LAST_JOB_CHANGE_DATE,我们从表的第二行和第四行中提取,因为这是他们上次更换工作的日期。

谢谢!

最佳答案

您可以使用INNER JOIN来实现这一点,即

%sql
SELECT a.*
FROM yourTable a
INNER JOIN
(
SELECT id, MAX(event_date) event_date
FROM yourTable b
GROUP BY id
) b ON a.id = b.id
AND a.event_date = b.event_date

ROW_NUMBER 方法也很有效:

%sql
WITH cte AS
(
SELECT
ROW_NUMBER() OVER( PARTITION BY id ORDER BY event_date DESC ) AS rn,
*
FROM yourTable a
)
SELECT *
FROM cte
WHERE rn = 1

我的结果:

My results

关于sql - 使用 JOB_TITLE 和 EVENT_DATE 查找上次换工作的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66285579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com