gpt4 book ai didi

php - 如何更新倒数第二行?

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

我需要在给定一组条件的情况下更新表中的倒数第二行。如果它是一个 SELECT 查询,它将如下所示:

SELECT col_1 FROM table_1 WHERE id = id_# ORDER BY timestamp_col DESC LIMIT  1,1

但是,当我执行以下操作时出现错误,但这是我想要的行为:

UPDATE table_1 SET col_1 = value_# ORDER BY timestamp_col DESC LIMIT 1,1

我知道我可以写这个

UPDATE table_1 SET col_1 = value_# ORDER BY timestamp_col DESC LIMIT 1

但我不知道如何在给定条件集的情况下更新倒数第二行。

更新倒数第二行的正确查询是什么?

最佳答案

MySQL 不支持 UPDATELIMIT 子句中的“偏移”功能或 DELETE操作。

但它支持SELECT声明。

因此,您可以采取的解决方法是将偏移量 LIMIT 选择包装在连接的子选择中,然后 仅更新所在的行idtimestamp_col 等于合并后的 idtimestamp_col,如下所示:

UPDATE table_1 a
INNER JOIN
(
SELECT id, timestamp_col
FROM table_1
WHERE id = <id>
ORDER BY timestamp_col DESC
LIMIT 1,1
) b ON a.id = b.id AND a.timestamp_col = b.timestamp_col
SET a.col_1 = <value>

关于php - 如何更新倒数第二行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11510536/

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