从mysql中选定的行数中查找行的行索引

时间:2012-10-09 08:02:24

标签: mysql sql database select

这是我的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;

结果数据是 enter image description here

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

找到它

1 个答案:

答案 0 :(得分: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子句,因为它控制着排名的顺序。