select
candidateId,feedback_request_id,key_skill_id,
ROW_NUMBER() OVER (PARTITION BY key_skill_id
ORDER BY feedback_request_id,key_skill_id) sequence
from newFeedbackReport
where candidateId= 2501
GROUP by feedback_request_id, key_skill_id
order by feedback_request_id,key_skill_id ;
我尝试编写类似以下内容,但结果不一样:
select
candidateId,
feedback_request_id,
@key_skill_id := key_skill_id as key_skill_id,
@row_number :=
CASE
WHEN @key_skill_id = key_skill_id THEN @row_number+1
ELSE 1
END AS row_number
from newFeedbackReport,
(SELECT @row_number := 0, @key_skill_id := '') as t
where candidateid = 2501
GROUP by feedback_request_id, key_skill_id
order by feedback_request_id, key_skill_id;