具有行号和右连接的MYSQL查询

具有行号和右连接的MYSQL查询,mysql,sql,row-number,Mysql,Sql,Row Number,我需要根据行号获取数据,例如:如果我通过row_NUM=2,它应该单独获取第二行数据。有人能帮我查询一下MYSQL吗。我试过使用行编号(),但不起作用 选择arh.ROUTE\u NUM,ard.ACTIVE\u ROUTE\u DETAILS\u ID,ROUTE\u NUM 从标题作为arh右连接详细信息ard在标题\u ID上= ard.HEADER_ID,其中arh.INFOPRO_DIV IN(050)和arh.ROUTE_日期='2020-11-25' SQL表表示无序集。因此,要

我需要根据行号获取数据,例如:如果我通过
row_NUM=2
,它应该单独获取第二行数据。有人能帮我查询一下MYSQL吗。我试过使用
行编号()
,但不起作用

选择arh.ROUTE\u NUM,ard.ACTIVE\u ROUTE\u DETAILS\u ID,ROUTE\u NUM
从标题作为arh右连接详细信息ard在标题\u ID上=
ard.HEADER_ID,其中arh.INFOPRO_DIV IN(050)和arh.ROUTE_日期='2020-11-25'

SQL表表示无序集。因此,要定义第二行,需要一个
orderby
。MySQL中实现这一点的标准方法是使用
限制
/
偏移量

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
注意:大多数人更喜欢
左连接
而不是
右连接
。也就是说,
WHERE
子句将外部联接转换为内部联接,因此我认为常规联接可以工作。另外,从标题到细节的连接也可以正常工作。

SQL表表示无序集。因此,要定义第二行,需要一个
orderby
。MySQL中实现这一点的标准方法是使用
限制
/
偏移量

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
注意:大多数人更喜欢
左连接
而不是
右连接
。也就是说,
WHERE
子句将外部联接转换为内部联接,因此我认为常规联接可以工作。另外,从标题到详细信息的连接是有意义的。

什么是“但它不起作用”呢?你有错误吗?哪个?你的MySQL版本是什么?右外连接很难读取。这是否适用于
WHERE
子句?在外部连接行中,
arh.INFOPRO\u DIV
arh.ROUTE\u DATE
为空,因此我希望外部连接行被取消。“但它不工作”是什么意思?你有错误吗?哪个?你的MySQL版本是什么?右外连接很难读取。这是否适用于
WHERE
子句?在外部连接行中,
arh.INFOPRO\u DIV
arh.ROUTE\u DATE
为空,因此我希望外部连接行被取消。