gpt4 book ai didi

mysql - 如何根据用户的第一次输入更新字段?

转载 作者:行者123 更新时间:2023-11-29 06:00:19 25 4
gpt4 key购买 nike

我有一个表名称设备。

+---------+---------------+---------------------+
| user_id | device_status | created_at |
+---------+---------------+---------------------+
| 1 | 0 | 2017-03-10 10:39:41 |
| 1 | 0 | 2017-03-14 10:19:33 |
| 2 | 0 | 2017-03-14 10:57:59 |
| 1 | 0 | 2017-03-15 05:58:51 |
| 3 | 0 | 2017-03-15 06:01:32 |
| 3 | 0 | 2017-03-15 12:10:13 |
+---------+---------------+---------------------+

我想做的是更新首先存储在 mysql 表中的 user_id 的 device_status

例如,我们有 3 行 user_id 1。具有 created_at 日期。我想更新 user_id 1 created_at date 2017-03-10 10:39:41 的 device_status。

编辑 1:我使用的查询

UPDATE devices 
SET device_status = 1
WHERE created_at = (SELECT created_at
FROM (SELECT MIN(created_at) AS created_at
FROM devices) AS t);

但是这个查询只更新了一条记录(2017-03-10 10:39:41)。我要更新

|       2 |             0 | 2017-03-14 10:57:59 |

|       3 |             0 | 2017-03-15 06:01:32 |

也有记录。

最佳答案

如果您所有的日期都是互斥的,您可以按 user_id 分组:

UPDATE devices 
SET device_status = 1
WHERE created_at IN (SELECT created_at
FROM (SELECT MIN(created_at) AS created_at
FROM devices
GROUP BY user_id) AS t);

关于mysql - 如何根据用户的第一次输入更新字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606342/

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