2012-10-09 152 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