webForumDet fria alternativet

Hitta glappet i nummerserie

Databaser & SQL

2 svar · 431 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)
256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)