mysql - 有没有办法可以在 mysql 中按值跳过?
问题描述
我试图在我的 MySQL 表中连续跳过值,例如:我在这里有一个表
time value
t1 val1
t2 val2
t3 val3
t4 val4
t5 val5
我需要的结果是
time value
t1 val1
t3 val3
t5 val5
希望你们理解我的问题同样我需要跳过 2 个值,3,4 和 5。
解决方案
假设顺序由 定义time
,在 MySQL 8+ 中,您可以使用row_number()
为排序的每一行分配一个数字time
,然后使用模运算符仅选择具有奇数的行%
。
SELECT x.time,
x.value
FROM (SELECT t.time,
t.value,
row_number() OVER (ORDER BY t.time) rn) x
WHERE rn % 2 = 1;
推荐阅读
- python - Flask-Bootstrap 对更改没有响应
- javascript - 如何在香草 javascript 中设置 -webkit-text-fill-color
- airflow - 将气流连接到谷歌融合
- sympy - 使用 sympy 使用条件语句对函数进行 Lambda 化
- graphql - GraphQL 参数类型从何而来?
- swiftui - SwiftUI:如何强制 HStack 中的特定视图位于中心
- android - 在启用 VNDK 的情况下构建供应商模块时使用 NDK 标头
- c++ - 通过非常量引用参数修改 const 引用参数
- javascript - 当滑块值低于 64 时,圆形滑块保持像素剩余
- reactjs - React - 隐藏和显示单个元素