2014-04-02 63 views
0

我試圖生成一個序列號,無論該活動是否被重新安排(重新安排的時間),但得到錯誤的輸出。在自動增量的mysql中生成序列號

在下圖中,前5行是正確的,但是當涉及新活動時,它應該再次從「重新計劃1」開始。 查詢這裏..

SELECT concat('Reschedule ',@a:[email protected]+1) Reschedule_type, 
     activity, old_date,new_date 
FROM application_calender_reschedule_view 
    , (SELECT @a:= 0) as a; 

我該怎麼做......?

請查看以下快照以供參考。
http://i.stack.imgur.com/ynpwt.png

回答

0

您需要將之前的活動存儲在一個變量和排序,以便所有人都保證是在一起活動:

SELECT concat('Reschedule ', if(@activity = activity, @a:[email protected]+1, @a := 1) 
      ) as Reschedule_type, 
     activity, old_date, new_date, 
     @activity := activity 
FROM application_calender_reschedule_view cross join 
     (SELECT @a:= 0, @activity := '') as a 
ORDER BY activity, old_date 
+0

發現在5號線 –

+0

錯誤感謝ü..我得到了結果..錯誤找到因爲加入...我重新安排了它..無論如何謝謝你 –