我曾尝试生成序列号,无论活动是否已重新安排(重新安排的时间),但输出错误。
在下图中,前5行是正确的,但是当它涉及新活动时,它应该再次从"重新安排1"开始。 在这里查询..
SELECT concat('Reschedule ',@a:=@a+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 :(得分:0)
您需要将以前的活动存储在变量中并按活动排序,以确保所有活动都在一起:
SELECT concat('Reschedule ', if(@activity = activity, @a:=@a+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