webForumDet fria alternativet

var 10:de som tillhör en viss person

ASP

2 svar · 281 visningar · startad av Biten

Medlem sedan mars 2001131 inlägg
Frågan#1

Hej ...
Jag har en databas där jag vill skriva ut var 10:de post som till hör ett visst personnr.

Kan man lösa det med SQL?

Medlem sedan mars 2001131 inlägg
#2

Upps förlåt...
Frågan skulle självklart vara på SQL forum
..*ledsen*

Medlem sedan dec. 200012 464 inlägg
#3

Nej, inte med 1 sqlsats. Begreppet var 10:e post är inte speciellt gångbart i relationella sammanhang där man an söka efter poster där data har specifika värden. Man kan inte säga att poster i en tabell har någon inbördes position.

Alternativa lösningar

  1. Hämta allt data och plocka var 10:e från recordset.

  2. Skriv en stored procedure som använder en scrollable cursor och skapar en temptabell som man selectar

  3. Inför ett sekvensnummer per användare som är konsekutivt så kan man använda

select * from t where mod(seqno,10) = 0 and personid = 7536

Det är lite jobbigt att underhålla detta då man tar bort poster och lägger till poster, så det är nog inget alternativ i praktiken.

  1. Hitta något alternativt sätt att välja ut en lagom mängd poster.

------------------
essentitia preter non sans multiplicandum

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)