/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
vælg random poster fra database
Fra : Thomas


Dato : 22-03-03 11:24

Jeg vil gerne udvælge 5 random poster fra en tabel, men hvor posterne
samtidig har en attribut sat til "sand". Hvordan gør jeg det?



 
 
Jesper Stocholm (22-03-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 22-03-03 11:27

Thomas wrote :

> Jeg vil gerne udvælge 5 random poster fra en tabel, men hvor posterne
> samtidig har en attribut sat til "sand". Hvordan gør jeg det?

Dit spørgsmål er i høj grad afhængigt af dit valg af database. Hvilken
bruger du ?



--
Jesper Stocholm - http://stocholm.dk - http://asp-faq.dk
Skriv venligst under det du svarer på og skær det overflødige væk.
Se evt hvorfor på http://www.usenet.dk/netikette/citatteknik.html
Svar venligt til gruppen og ikke til mig privat !

Thomas (22-03-2003)
Kommentar
Fra : Thomas


Dato : 22-03-03 15:25

MS Access 2002

"Jesper Stocholm"
<skal.du.absolut.vise.min.emailadresse.ved.svar@stocholm.invalid> wrote in
message news:Xns93467462A57BCspamstocholmdk@130.226.1.34...
> Thomas wrote :
>
> > Jeg vil gerne udvælge 5 random poster fra en tabel, men hvor posterne
> > samtidig har en attribut sat til "sand". Hvordan gør jeg det?
>
> Dit spørgsmål er i høj grad afhængigt af dit valg af database. Hvilken
> bruger du ?
>
>
>
> --
> Jesper Stocholm - http://stocholm.dk - http://asp-faq.dk
> Skriv venligst under det du svarer på og skær det overflødige væk.
> Se evt hvorfor på http://www.usenet.dk/netikette/citatteknik.html
> Svar venligt til gruppen og ikke til mig privat !



Jesper Stocholm (22-03-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 22-03-03 18:37

Thomas <kroghjacobsen@hotmail.com> skrev:
>MS Access 2002

hvis du i din tabel har et fortløbende ID (uden huller!), så ville
jeg

1.
Udtrække det største ID via SQL, dvs
SELECT MAX(id) FROM Table

2.
Lave en liste over 5 tilfældige tal i intervallet fra 1 til MAX(id)

3.
Udtrække 5 rækker fra min tabel, hvor ID er i denne liste, dvs
SELECT Field1,Field2 FROM TABLE WHERE Id IN (<liste på 5 id>)

(listen af Ids skal være separerede med komma)

Tilfældige tal laves i ASP med Rnd-operatoren ...



--
Jesper Stocholm
http://stocholm.dk


Jakob Andersen (23-03-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-03-03 01:28

Thomas skrev:
>> > Jeg vil gerne udvælge 5 random poster fra en tabel, men hvor posterne
>> > samtidig har en attribut sat til "sand". Hvordan gør jeg det?

> MS Access 2000

Prøv at kigge her:
http://www.advice.dk/jakob/random.asp

Jesper Stocholm (23-03-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 23-03-03 11:20

Jakob Andersen wrote :

> Thomas skrev:
>>> > Jeg vil gerne udvælge 5 random poster fra en tabel, men
>>> > hvor posterne samtidig har en attribut sat til "sand".
>>> > Hvordan gør jeg det?
>
> Prøv at kigge her:
> http://www.advice.dk/jakob/random.asp

din idé er sådan set meget god ... men hvordan kan du forsvare at hente
en værdi fra samtlige rækker ud af din tabel før du begynder at finde
værdierne ? Hvis tabellen kun indeholder <100 rækker, så er det jo
ligegyldigt, men hvis den indeholder mange, mange flere, så vil
performance af din løsning blive katastrofalt lav.

Det er klart, at der kan være tilfælde, hvor din løsning er den eneste
mulige, men det bør i det mindste undersøges om det er muligt på andre
måder først.



--
Jesper Stocholm - http://stocholm.dk
if you are competing with the darknet, you must compete on the darknet's
own terms: that is convenience and low cost rather than additional
security. ( http://crypto.stanford.edu/DRM2002/darknet5.doc )

Jakob Andersen (23-03-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-03-03 12:04

Jesper Stocholm skrev:
> din idé er sådan set meget god ... men hvordan kan du forsvare at hente
> en værdi fra samtlige rækker ud af din tabel før du begynder at finde
> værdierne ?

Jeg kan ikke forsvare det med andre argumenter end at Access ufattelig
meget mangler en randomgenerator der kan bruges fra ASP. Jeg arbejder
sjældent med access og har derfor ikke forsket meget i det, men som jeg
ser det ha man kun min mulighed hvis man _ikke_ har en "uhullet"
fortløbende unik nøgle. Hvis man har sidsnævnte kan man nøjes med at tælle
posterne fremfor at hente alle primærnøgler ud.

> Det er klart, at der kan være tilfælde, hvor din løsning er den eneste
> mulige, men det bør i det mindste undersøges om det er muligt på andre
> måder først.

Jeg vil frygtelig gerne se løsninger til at hente tilfældige poster fra en
access database hvor man ikke kan stole på at der ikke er "huller" i den
fortløbende unikke nøgle.

Nu har jeg lige for at sikre mig at jeg ikke tidligere har overset en
åbenlys løsning være omkring nogle af de respekterede sites og der er
ingen af disse der har nogle bedre alternativer:

http://www.aspfaq.com/show.asp?id=2132
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=65

Men som sagt vil jeg på ingen måde kalde mig selv Accessekspert, så hvis
der findes en randomfunktion der kan kaldes igennem ODBC/OleDB må jeg nok
indrømme at jeg har skudt gråspurve med kanonoer i mit eksempel.

--
Jakob Andersen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408936
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste