这是我的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的行的行索引。
但是如何使用查询找到这个

最佳答案

尝试这个:

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子句,因为它是控制排名顺序的因素。

关于mysql - 从MySQL中选定的行数中查找行的行索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12795473/

10-12 23:40