mysql - 5.1 版的 MySQL 查询在 5.7 中不起作用
问题描述
select * from batches join (
select * from (
select *, row_number() over (
partition by batch_id
order by date ASC
) as row_num
from batch_schedule where display = 'Yes'
) as d_schedule
where d_schedule.row_num = 1
)
as f_schedule
on batches.id = f_schedule.batch_id
WHERE (f_schedule.date BETWEEN '2021/03/01' AND '2021/04/30')
此查询在 5.1 版中运行良好,但在 5.7 版中无法运行
我想要实现的是,根据 batch_schedule 开始日期过滤批次。
我需要从右表中选择第一行,条件显示 = 'Yes' 并按日期 asc 排序,并基于该行值我需要显示批次。
我收到以下错误消息
select is not valid at this position for this server version expecting '(' with
解决方案
select * from batches join ( SELECT * from batch_schedule
where display = 'Yes' group by batch_id order by date asc )
as f_schedule on batches.id = f_schedule.batch_id
where(f_schedule.date BETWEEN '2021/03/01' AND '2021/04/30');
我试过这个并且它有效。我在这里发帖以防万一有人在寻找相同的东西会有所帮助。
推荐阅读
- label - Amazon SageMaker Ground Truth 自定义标签作业错误:无法读取 null 的属性“taskInput”
- go - 连接到 Go Gin 时的 Angular 8 CORS
- java - 如何在 Android 应用中监听蓝牙耳机按钮?
- tcl - 如何通过 Tcl 语言创建临时 shellscript 文件和目录?
- sql - SQL Table 数十亿条目 - 寻找性能建议
- graphql - 错误:无效的 AST 节点:{"input":"** } on graphql 突变(放大客户端)
- javascript - 无法使用 Lightning 组件中的 FileReader 对象读取和上传文件
- node.js - JHipster 安装失败
- webpack - webpack 带有样式加载器的错误
- java - IntelliJ 中文件更改的代码生成