0

我有一个记录一系列值的表,所以......

ID.   VAL
1.    18
2.    18
3.    20
4.    20
5.    18

我正在尝试弄清楚如何选择系列更改的记录(例如记录 1、3 和 5)。我正在使用 rails,但我猜原始 MySQL 可能是前进的方向。

将不胜感激您可以提供的任何帮助...

4

1 回答 1

1

假设您的表格如下所示:

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

这样我们就可以将记录与前面的记录连接起来。如果两条记录的值不同 - 我们有答案。

于 2012-07-15T06:56:27.430 回答