gpt4 book ai didi

php - 如何在 MySQL 或 PHP 中选择 Distinct,仅针对连续值

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

假设我在 MySQL 的列中有数据:

1   a
2 a
3 a
4 b
5 b
6 c
7 d
8 b
9 b
10 b
11 a

第一列是id。如果我选择不同的第二列,我会有

a
b
c
d

但是,如果它们没有连续出现或一起出现,我仍然需要这些值,即我需要:

a
b
c
d
b
a

我需要第二个“b”和第二个“a”,因为第 8、9、10 行不是“一起”或与第 4、5 行连续出现。

如何使用 MySQL 或 PHP 使用 MySQL,甚至仅使用 PHP(从 csv 文件读取)?

注意:我使用的是 MySQL 5.6 和 PHP 7

最佳答案

仅在 MySQL 中,这就相当简单了,您只需要跟踪“val”的最后一个值是什么,并查看当前值是否不同。请注意,为确保预期结果,table1 中的值需要在处理前按 id 排序。否则,根据插入的顺序,您可能会得到意想不到的结果...

SELECT id, @last := val AS value
FROM (SELECT * FROM table1 ORDER BY id) t
JOIN (SELECT @last := '') l
WHERE val != @last

输出

id  value
1 a
4 b
6 c
7 d
8 b
11 a

SQLFiddle Demo

关于php - 如何在 MySQL 或 PHP 中选择 Distinct,仅针对连续值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52241033/

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