mysql - 我想找到上升一、下降一的情况。使用SQL

标签 mysql sql oracle postgresql

这个问题我思考了一个星期。

无论如何,我想找到上升一、下降一的情况。使用 SQL。

例如

该表存在。

name: ValTable



No  val  
1  → 2  
2  → 3  
3  → 2  
4  → 4  
5  → 3  
6  → 3  
7  → 4  
8  → 3  
9  → 2  
10 → 0 

应用了两点。

① No.1-3 → 2,3(+1),2(-1)  
② No.6-8 → 3,4(+1),3(-1)

可以使用 SQL 执行吗?
(Oracle、Posgresql、MySQL)
如果知道第一个数字就足够了。

或者请建议我是否应该更改表结构并且好

最佳答案

SELECT t1.val first, t2.val second, t3.val third
FROM test t1
JOIN test t2 ON t2.no = t1.no + 1 AND t2.val = t1.val + 1
JOIN test t3 ON t3.no = t2.no + 1 AND t3.val = t1.val

http://www.sqlfiddle.com/#!2/02685/7

关于mysql - 我想找到上升一、下降一的情况。使用SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24358982/

相关文章:

sql - Oracle SQL,使用 &input 的 SELECT 子句

php - 在 PHP 中从 mysql 检索图像时无法查看图像

mysql - 创建子查询时遇到问题

mysql - 在另一列中使用组功能的最有效方法

php - 错误文本 :Unknown column ' ' in field list

sql - 在 oracle 中使用提示

php - 需要从mysql更新数据

mysql - 具有相似属性的多个对象的数据库设计

php GLOBALS session 文件

PHP 连接查询返回不需要的结果