我有一個表在我的數據庫在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
我有一個表在我的數據庫在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
的一種方式做,這是在子查詢中使用count
函數。不知道它很好地進行擴展,雖然有可能是更好的方法......
select
(select count(*) from city where ID_city <= t1.ID_city) as row_number,
*
from city t1
什麼是T1? –
如果結果是按城市排列的,可能會出現問題 –
完成,Gracias Hermano @jpw –
做到這一點是通過使用自聯接的最好方法......
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
另一種選擇:(http://www.openwinforms.com/row_number_to_sql_select.html )
SELECT ROW_NUMBER()
OVER (ORDER BY ID_city) AS Rowid,
ID_City, city
FROM city
Access SQL中不支持'ROW_NUMBER()'和'OVER'。 – HansUp
小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
這裏是第一次嘗試谷歌搜索鏈接:https://599cd.com/tips/access/140703-row-number/ –