UPDATE customer
INNER JOIN (SELECT
@row_number:=CASE
WHEN @customer_no = s.DepartmentId THEN @row_number + 1
ELSE 1
END AS rowNum,
s.id
FROM
customer s, (SELECT @row_number:=0, @customer_no:=0) AS t
ORDER BY
s.DepartmentId,s.CreatedTime) afterOrder
on customer.id=afterOrder.id
set customer.OrderNo=afterOrder.rowNum
原文:https://www.cnblogs.com/taoshengyujiu/p/10557325.html