2015-07-03 84 views
1

我有一個表在我的數據庫在Access 2013年添加行號的查詢

Table : city 

ID_city city 
1  Tetuan 
5  Rabat 
9  Marrakech 
10  Agadir 
15  Laayoun 

我要補充的ROWID號旁邊:

Rowid ID_city city 
1  1  Tetuan 
2  5  Rabat 
3  9  Marrakech 
4  10  Agadir 
5  15  Laayoun 
+0

這裏是第一次嘗試谷歌搜索鏈接:https://599cd.com/tips/access/140703-row-number/ –

回答

2

的一種方式做,這是在子查詢中使用count函數。不知道它很好地進行擴展,雖然有可能是更好的方法......

select 
    (select count(*) from city where ID_city <= t1.ID_city) as row_number, 
    * 
from city t1 
+0

什麼是T1? –

+1

如果結果是按城市排列的,可能會出現問題 –

+0

完成,Gracias Hermano @jpw –

0

做到這一點是通過使用自聯接的最好方法......

SELECT 
    COUNT(*) AS Rowid, 
    C.ID_City, 
    C.city 
    FROM City C 
    INNER JOIN City C1 ON C.ID_City >= C1.ID_City 
    GROUP By C.ID_City, C.city 
0

小VBA走一段很長的路要走......

'Module level variables; values will persist between function calls 
'To reset the row number, you have to explicitly call Reset 
Dim lastValue As Integer 

Public Function RowNumber(x) As Integer 
    'We need this parameter so Access will call the function on each row, instead of only once 
    lastValue = lastValue +1 
    RowNumber = lastValue 
End Function 

Public Sub Reset() 
    lastValue = 0 
End Sub 

SQL語句:

SELECT RowNumber(city) AS RowID, * 
FROM City