2012-10-09 111 views
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; 

得到的数据是 enter image description here

对不起,小image.It有一个名为场NETWORKID。 所以我的问题是如何找到与NETWORKID 2.Here答案行的行索引是NETWORKID 2行的行索引3. 但是,如何找到这个使用查询

回答

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

+0

thnks我只是检查,让你知道..... – iJade