Ich habe ein Problem mit dem Zählen von Zeilen. Das ist mein Verfahren:Zeilen zählen SQL-Server
DECLARE @result table(id int,latitude float, longitude float)
Declare @z int = 1
while (@z <5)
BEGIN
INSERT INTO
@result
SELECT
id,
loc.STPointN(@z).Lat as lat,
loc.STPointN(@z).Long as long
FROM test6
SET @z = @z+1
END
Select * from @result
ORDER BY id
Ergebnisse:
ID lat long
1 16,71175 52,689702
1 17,008381 52,247983
2 17,228107 52,689702
2 17,008381 42,247983
2 16,71175 42,689702
Ich mag Reihen mit gleicher ID zählen, ungefähr wie:
ID lat long count
1 16,71175 52,689702 1
1 17,008381 52,247983 2
2 17,228107 52,689702 1
2 17,008381 42,247983 2
2 16,71175 42,689702 3
Jede Beratung? (Sorry für Englisch)
Ihre erste Lese ist ungeordnet, so gibt es keine Garantie, dass Sie erhalten die gleichen Zeilen jedes Mal, oder dass 'loc.STPointN (...)' wird, um zu bestellen bekomme jeweils den gleichen Wert von 'z' Zeit. Es ist unklar, warum Sie eine Zeile nach der anderen lesen, im Gegensatz zu einer Decke "SELECT" (möglicherweise mit "CROSS APPLY"). Sie müssen auch ein Kriterium für die Zuweisung der Anzahl herausfinden, oder die Zahlen können sich jedes Mal ändern. –