MySQL基于日期添加计数字段

MySQL基于日期添加计数字段,mysql,sql-order-by,Mysql,Sql Order By,您好,我有上面的表格布局,但“尝试”字段为空 我正在尝试根据ID日期更新尝试字段 我用过这个 id num date Attempt 1 555 2015-01-03 01:00:00 1 1 555 2015-01-03 02:00:00 2 1 555 2015-01-03 03:00:00 3 1 555 2015-01-01 04:03:03 4 1 555 2015-01-02

您好,我有上面的表格布局,但“尝试”字段为空

我正在尝试根据ID日期更新尝试字段

我用过这个

id   num    date                Attempt
1    555    2015-01-03 01:00:00  1
1    555    2015-01-03 02:00:00  2
1    555    2015-01-03 03:00:00  3 
1    555    2015-01-01 04:03:03  4
1    555    2015-01-02 06:00:00  5
1    555    2015-01-06 17:55:24  6
1    555    2015-01-07 18:00:00  7
2    666    2015-01-07 01:00:00  1
2    666    2015-01-07 02:00:00  2
问题是,我还需要添加group by子句,以便它在新id上拾取并重新开始从1开始的增量,因为编号只是继续到下一个id,所以我的结果当前如下所示:

SET @x = 0; 
UPDATE attempts 
SET attempt = (@x:=@x+1) ORDER BY id, date
因此,由于新ID,8和9应分别为1和2

有人能帮我编写一些代码来获得我想要的结果吗?

这里有一种方法:

id   num    date                 Attempt
1    555    2015-01-03 01:00:00  1
1    555    2015-01-03 02:00:00  2
1    555    2015-01-03 03:00:00  3 
1    555    2015-01-01 04:03:03  4
1    555    2015-01-02 06:00:00  5
1    555    2015-01-06 17:55:24  6
1    555    2015-01-07 18:00:00  7
2    666    2015-01-07 01:00:00  8
2    666    2015-01-07 02:00:00  9
一定要弄清楚您是想按
id,date
还是
num,date
订购

SET @x = 0; 
SET @num = -1;
UPDATE attempts 
    SET attempt = if(@num = num, @x := @x+1,
                     if(@num := num, @x := 1, @x := 1)
                    )
    ORDER BY id, date;