我有一个记录一系列值的表,所以......
ID. VAL
1. 18
2. 18
3. 20
4. 20
5. 18
我正在尝试弄清楚如何选择系列更改的记录(例如记录 1、3 和 5)。我正在使用 rails,但我猜原始 MySQL 可能是前进的方向。
将不胜感激您可以提供的任何帮助...
我有一个记录一系列值的表,所以......
ID. VAL
1. 18
2. 18
3. 20
4. 20
5. 18
我正在尝试弄清楚如何选择系列更改的记录(例如记录 1、3 和 5)。我正在使用 rails,但我猜原始 MySQL 可能是前进的方向。
将不胜感激您可以提供的任何帮助...
假设您的表格如下所示:
CREATE TABLE records (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
val INT UNSIGNED NOT NULL
);
你想要做的是自我加入它自己,像这样:
SELECT
records2.id
FROM
records AS records1
JOIN records AS records2 ON (records1.id = records2.id-1)
WHERE
records1.val != records2.val
这样我们就可以将记录与前面的记录连接起来。如果两条记录的值不同 - 我们有答案。