1
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;
4

1 に答える 1