gpt4 book ai didi

MySQL:删除连续的重复值

转载 作者:行者123 更新时间:2023-11-29 01:33:14 24 4
gpt4 key购买 nike

我有一个 MySQL 表,它返回一个值列表,其中包含连续 重复项(按时间戳排序)。

比如我在查询的时候只需要返回连续重复的值:

[1, "Yellow"]
[2, "Yellow"]
[3, "Green"]
[5, "Black"]
[6, "Green"]
[7, "Green"]

此处的数字仅供引用 - 该值实际上是字符串“Green”,因此对于上述情况,新的未复制列表将是:

[1, "Yellow"]
[3, "Green"]
[5, "Black"]
[6, "Green"]

有没有一种聪明的方法可以用 MySQL 处理这个问题?

使用 Rails/ActiveRecord,这并没有什么不同,但我可以通过 manipulating an Array 做到这一点, 只是想知道是否有更聪明的方法来处理这个问题。

最佳答案

解决此类问题的一种方法是使用带有用户变量的子查询。您可以使用 user 变量跟踪上一行的颜色值,然后在外部查询的 where 子句中使用 user 变量来过滤您返回的行。

尝试这样的事情:

select id,this_color as color
from
(
select id,@last as last_color,@last:=color as this_color
from your_table
order by id
) as sub
where this_color != last_color

关于MySQL:删除连续的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5085849/

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