首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ROW_NUMBER和RIGHT JOIN的MYSQL查询

问使用ROW_NUMBER和RIGHT JOIN的MYSQL查询
EN

Stack Overflow用户
提问于 2020-11-27 21:44:14
回答 1查看 28关注 0票数 0

我需要根据行号来获取数据,例如:如果我传递了ROW_NUM=2,它应该只获取第二行数据。有没有人能帮我做个MYSQL查询。我试着用ROW_NUMBER(),但不起作用

代码语言:javascript
复制
Select arh.ROUTE_NUM,ard.ACTIVE_ROUTE_DETAILS_ID,ROUTE_NUM
from HEADER as arh right join DETAILS ard on HEADER_ID =
ard.HEADER_ID where arh.INFOPRO_DIV IN (050) and  arh.ROUTE_DATE = '2020-11-25'

​

​

EN

回答 1

Stack Overflow用户

发布于 2020-11-27 21:47:05

SQL表格表示无序集合。因此,要定义第二行,您需要一个ORDER BY。在MySQL中,执行此操作的规范方法是使用LIMIT/OFFSET

代码语言:javascript
复制
select arh.ROUTE_NUM, ard.ACTIVE_ROUTE_DETAILS_ID, ROUTE_NUM
from HEADER arh join
     DETAILS ard
     on HEADER_ID = ard.HEADER_ID
where arh.INFOPRO_DIV IN (050) and
      arh.ROUTE_DATE = '2020-11-25'
order by arh.ROUTE_NUM, ard.ACTIVE_ROUTE_DETAILS_ID
limit 1 offset 1;   -- "offset 1" corresponds to the second row

注意:与RIGHT JOIN相比,大多数人更喜欢LEFT JOIN。也就是说,WHERE子句无论如何都会将外连接转换为内连接,所以我认为常规连接也可以。此外,从headers到details的连接也是有意义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65038405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档