Mysql记录划分程序
问题描述:
我有一个2列表(ID,IdResponsible) 我需要创建一个过程,该表中的每个记录,IdResponsible列填充计数器1到4.Mysql记录划分程序
如果de counter> 4 then counter = 1
我该怎么做?
答
您可以生成排名行号并将其重置为每4行。就像这样:
SELECT t.id,
CASE WHEN @rownum >= 4 THEN @rownum := 1
ELSE @rownum := @rownum + 1 END AS IdResponsible
FROM table1 t, (SELECT @rownum := 0) r;
这会给你这样的:
| id | IdResponsible |
|----|---------------|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 1 |
| 6 | 2 |
| 7 | 3 |
| 8 | 4 |
| 9 | 1 |
WOW!谢谢,它的工作原理! – fabinho