var 10:de som tillhör en viss person

ASP

2 svar · 298 visningar · startad av Biten

Medlem sedan mars 2001131 inlägg
Trådstart#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.
246 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)