【发布时间】:2020-01-22 17:10:26
【问题描述】:
我有一个查询要根据 yearleftpost 获取 JobRanking 以获得最新的工作,然后是以前的工作。
select
c.id,
c.Fname,
cfe.JobYear,
cfe.YearLeftPost,
cfe.Iscurrentjob,
ROW_NUMBER() OVER (Partition by c.id ORDER BY Iscurrentjob DESC, yearleftpost DESC) AS JobRanking
from
candidates c
left join Candidate_FunctionalExperience cfe on c.id = cfe.CandidateID
它给了我结果:
id Fname JobYear YearLeftPost Iscurrentjob JobRanking
EC2 sdsadsa 1430 1433 1 1
EC2 sdsadsa 1429 1430 0 2
EC2 sdsadsa 1424 1428 0 3
EC2 sdsadsa 1428 1428 0 4
EC2 sdsadsa 1424 1426 0 5
现在,我有一个 IscurrentJob(布尔值)0 或 1,我没有得到正确的 JobRanking 顺序。
【问题讨论】:
-
编辑问题添加完整示例输出,因为您的
SELECT语句具有6列,但您仅显示4列。 -
不使用图片的原因是here。
标签: sql sql-server tsql ranking-functions