webForumDet fria alternativet

Hitta glappet i nummerserie

Databaser & SQL

2 svar · 433 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Yoo!

Har en kolumn med värden, ex.

Values
-----------------
3
4
5
6
7
12
13

Nu vill jag hitta glappet och få det högre värdet däremellan, dvs. 12
3,4,5,6,7 ligger efter varann sen blir det glapp och sen kommer 12.

Värdena kan naturligtvis skilja men det är samma regel:
x-antal nummer i följd, sen ett glapp och sen x-antal nummer i följd.

Nån som e sugen å labba ihop en sqlsats till detta!? :)

Databas sql 2005

Medlem sedan mars 20034 471 inlägg
#2

Är det inte enklare att helt enkelt hämta alla värden och sedan låta applikationsprogrammet hitta glappet?

Medlem sedan juni 20003 076 inlägg
#3

Hmm, tror jag fått till det! :)

SELECT [Values] FROM #tmp t
	WHERE NOT EXISTS
		(SELECT [Values] FROM #tmp WHERE [Values] = t.[Values]-1)
		AND [Values] > (SELECT Min([Values]) FROM #tmp)
254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)