gpt4 book ai didi

MySQL根据日期添加计数字段

转载 作者:行者123 更新时间:2023-11-29 02:19:54 24 4
gpt4 key购买 nike

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

你好,我有上面的表格布局,但“尝试”字段是空白的。

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

我用过这个

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

问题是我还需要添加 group by 子句,以便它选择新的 id 并再次从 1 重新开始递增,因为编号只是继续到下一个 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 8
2 666 2015-01-07 02:00:00 9

因此,由于新 ID,8 和 9 应该分别为 1 和 2。

任何人都可以帮助编写一些代码来获得我想要的结果吗?

最佳答案

这是一种方法:

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;

请明确您是要按id, date 还是num, date 排序。

关于MySQL根据日期添加计数字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33544492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com