1

这是我的mysql查询

SELECT network_mst.NetworkId,network_mst.NetworkName,network_mst.InternationalDBStatus,network_mst.Of fshoreDBStatus,network_mst.InterDBStatus,network_mst.IntraDBStatus 
FROM network_mst INNER JOIN carrier_network ON network_mst.NetworkId=carrier_network.NetworkId
INNER JOIN user_network ON network_mst.NetworkId=user_network.NetworkId WHERE UserId=1
AND carrier_network.CarrierId IN (1) GROUP BY network_mst.NetworkId ORDER BY  network_mst.NetworkName;

结果数据是 在此处输入图像描述

对不起,小图像。它有一个名为 NetworkId 的字段。所以我的问题是如何找到具有 NetworkId 2 的行的行索引。这里的答案是具有 NetworkId 2 的行的行索引是 3。但是如何使用查询找到它

4

1 回答 1

0

试试这个:

SET @rownum = 0; 
Select *
FROM
(
   Select *,  (@rownum := @rownum+1) as rank
   FROM
   (
      -- Your current query here
   ) t
) sub WHERE rank = 3

此查询应返回带有 的行,netword_id = 2因为它是第三行。但是您必须注意ORDER BY最内层查询中的子句,因为它控制着排名的顺序。

于 2012-10-09T08:07:15.150 回答