【发布时间】:2021-11-23 16:03:42
【问题描述】:
假设,我有如下查询。
select * from `Students` s1
join `Students` s2
on s2.id = s1.id + 1 and s2.marks >= 80 and s1.marks >= 80
在这种情况下,s1 和 s2 的数据将被放入两个单独的列中,但我怎样才能将它们放入单独的行中呢?
这是一个示例数据:
+---+------+
| id| marks|
+---+------|
| 1 | 88 |
| 2 | 77 |
| 3 | 81 |
| 4 | 82 |
| 5 | 75 |
| 6 | 80 |
| 7 | 90 |
| 8 | 93 |
+---+------+
我想要的是显示两个连续 80+ 标记的行(按id 排序)。例如,在这种情况下,将显示 id 为 3、4、6、7 和 8 的行。
【问题讨论】:
-
请提供少量具有表结构和预期输出的示例数据。
-
您已经成为 SO 用户 10 年了,您一定知道您需要为 SQL 问题提供示例数据和预期结果。
-
@Stu 刚刚添加了示例数据和预期输出。
标签: mysql sql join window-functions exists