2010-03-27 25 views
0

的DATAS這是MySQL的選擇查詢疑問 讓我axplain我懷疑一個簡單的例子 認爲這是我的查詢 SELECT dbCountry from tableCountry如何編號從MySQL

tableCountry有場dbCuntryId,dbCountry和dbState 我有結果作爲

 
dbCountry 
india 
america 
england 
kenya 
pakisthan 

我需要的結果作爲

 
1 india 
2 america 
3 england 
4 kenya 
5 pakisthan 

數字12345必須隨着數據的增加而生成,並且不是自動增量ID。 我怎樣才能得到它 它是什麼樣的循環

+0

@udaya ROWNUMBER()? – 2010-03-27 08:04:56

+0

是一個函數RowNumber()的數字必須生成fronm查詢 – udaya 2010-03-27 08:07:03

+0

你可以發佈你到目前爲止的代碼嗎? – 2010-03-27 08:08:24

回答

4

你可以試試這個:

SELECT dbCountry, 
(SELECT COUNT(*) FROM tableCountry t2 WHERE t2.dbCountry <= t1.dbCountry) 
AS RowNum 
FROM tableCountry t1 
ORDER BY dbCountry 
+0

非常感謝它對我有用...好主意 – udaya 2010-03-29 04:10:35

3

以下應該做你所需要的。它採用的是遞增並返回的每一行變量:

SELECT 
    @rownum:[email protected]+1 number, 
    c.dbCountry 
FROM 
    tableCountry c, 
    (SELECT @rownum:=0) r 

如果你想要的結果總是在相同的順序,你需要通過約束添加一個以查詢,例如,ORDER BY c.dbCountry以國名命令。

+0

@Phil ross它適用於我非常感謝 – udaya 2010-03-29 04:05:48