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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
udvælge tilfældig post
Fra : Henrik Stidsen


Dato : 12-10-03 23:32

Til et banner rotations program skal jeg have udvalgt et banner
tilfældigt.
Jeg har overvejet at sige "den der har været vist færrest gange skal
vises", men det giver en del problemer.
1. Hvis flere har været vist samme antal gange skal der ekstra
arbejde til
2. Hvis der tilføjes bannere vil det nyeste blive vist mange gange
før de 5 andre der har været vist 10.000 gange vises igen.

Hvordan udvælger man nemmest - og mest retfærdigt - en tilfældig post
i en sql db ? (formentlig MySQL)

--
..: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
Nerd is a word only used by those who can’t pronounce ’Intellectual’.
- http://query.dk/permlink.php?link=1058129898

 
 
Jimmy (13-10-2003)
Kommentar
Fra : Jimmy


Dato : 13-10-03 08:37


"Henrik Stidsen" <nospamforme@hs235.dk> wrote in message
news:Xns9413559EE779HS235dk@130.225.247.90...
> Til et banner rotations program skal jeg have udvalgt et banner
> tilfældigt.


Der er en rigtig god dokumentation til MySQl, der står hvordan du gør.

http://www.mysql.com

Mvh
Jimmy



Henrik Stidsen (13-10-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 13-10-03 13:56

"Jimmy" <nyhedsgruppe2@get2net.danmark> wrote in
news:ACsib.18$uE2.1@news.get2net.dk

>> Til et banner rotations program skal jeg have udvalgt et banner
>> tilfældigt.

> Der er en rigtig god dokumentation til MySQl, der står hvordan
> du gør.

> http://www.mysql.com

Måske et lille hint til hvorhenne i dokumentationen jeg skal kigge ?
- tager dokumentationen højde for de ting jeg skrev ?

--
..: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
Nerd is a word only used by those who can’t pronounce ’Intellectual’.
- http://query.dk/permlink.php?link=1058129898

Jimmy (13-10-2003)
Kommentar
Fra : Jimmy


Dato : 13-10-03 14:40


"Henrik Stidsen" <nospamforme@hs235.dk> wrote in message
news:Xns941397F4C6FB7HS235dk@130.225.247.90...
> "Jimmy" <nyhedsgruppe2@get2net.danmark> wrote in
> news:ACsib.18$uE2.1@news.get2net.dk
>
> >> Til et banner rotations program skal jeg have udvalgt et banner
> >> tilfældigt.
>
> > Der er en rigtig god dokumentation til MySQl, der står hvordan
> > du gør.
>
> > http://www.mysql.com
>
> Måske et lille hint til hvorhenne i dokumentationen jeg skal kigge ?


Hvis jeg gir dig en fisk kan du spise i dag, lærer jeg dig at fiske
kan du spise hver dag.

Hvis jeg lærer dig hvordan du gør kan du løse dette problem, viser
jeg dig manualen kan du løse det næste problem også.

Mvh
Jimmy





Henrik Stidsen (13-10-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 13-10-03 18:59

"Jimmy" <nyhedsgruppe2@get2net.danmark> wrote in
news:iWxib.696$sq5.351@news.get2net.dk

>> Måske et lille hint til hvorhenne i dokumentationen jeg skal
>> kigge ?

> Hvis jeg gir dig en fisk kan du spise i dag, lærer jeg dig at
> fiske kan du spise hver dag.

> Hvis jeg lærer dig hvordan du gør kan du løse dette problem,
> viser jeg dig manualen kan du løse det næste problem også.

Nu er det sådan at jeg godt ved hvordan man laver et udtræk fra en
database. Jeg ved også hvordan man laver et random udtræk (eller ved
i hvert fald hvordan jeg kan finde ud af det).

Men jeg tror ikke på MySQL dokumentationen fortæller hvordan det skal
skrues sammen med politiker for at udvælge blandt posterne.
Tilsyneladene er Jesper enig med mig, news:3F8A65CD.1030800@brunholm-
scharff.dk
Hvis du kan vise mig hvor i manualen jeg skal kigge for at få en
algoritme der kan det jeg spurgte efter så ville det bare være total
fjong, så skal jeg nok kigge og iøvrigt sige undskyld forstyrrelsen
til dig.

--
..: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
Nerd is a word only used by those who can’t pronounce ’Intellectual’.
- http://query.dk/permlink.php?link=1058129898

Peter Brodersen (13-10-2003)
Kommentar
Fra : Peter Brodersen


Dato : 13-10-03 20:55

On Mon, 13 Oct 2003 09:37:09 +0200, "Jimmy"
<nyhedsgruppe2@get2net.danmark> wrote:

>Der er en rigtig god dokumentation til MySQl, der står hvordan du gør.
>
>http://www.mysql.com

Du tager fejl i den måde, du vil gøre det på. Kig i stedet på
http://www.mysql.com og se, hvor din fejl er.

--
- Peter Brodersen

Ugens sprogtip: bekræfte (og ikke bekræftige)

Jimmy (13-10-2003)
Kommentar
Fra : Jimmy


Dato : 13-10-03 21:31


"Peter Brodersen" <usenet@ter.dk> wrote in message
news:bmevt0$rdn$4@dknews.tiscali.dk...
> On Mon, 13 Oct 2003 09:37:09 +0200, "Jimmy"
> <nyhedsgruppe2@get2net.danmark> wrote:
>
> >Der er en rigtig god dokumentation til MySQl, der står hvordan du gør.
> >
> >http://www.mysql.com
>
> Du tager fejl i den måde, du vil gøre det på. Kig i stedet på
> http://www.mysql.com og se, hvor din fejl er.


Arhh - Du gjorde det bedre sidst.

mvh
Jimmy



Jesper Brunholm (13-10-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 13-10-03 09:44

Henrik Stidsen wrote:
> Jeg har overvejet at sige "den der har været vist færrest gange skal
> vises", men det giver en del problemer.
> 1. Hvis flere har været vist samme antal gange skal der ekstra
> arbejde til

Hvis du nu tager en random på dem der har været vist færrest antal gange?

> 2. Hvis der tilføjes bannere vil det nyeste blive vist mange gange
> før de 5 andre der har været vist 10.000 gange vises igen.

jeps - hvad med 'vist færrest gange den seneste uge' (/md/dag/time ) ?

Du kan også lave en decideret algoritme hvor du (automatiseret) lader
visningsfrekvens, tilfældighed m.m. indgå som parametre som giver det
enkelte element point ud fra hvilke man finder en vinder.
Det kan beregnes hver gang, eller man kunne lave en score-kolonne hvor
man gav nytilkomne lav score, lægger noget til ved hver visning, og i
øvrigt vælger random imellem de x højeste. Som skizzeret her bliver det
det samme som 'random på de x der har været vist færrest gange', men det
er til gengæld noget lettere at udvide.

Men det er måske så meget at gøre ud af det igen?

Jeg har svært ved at forestille mig at du er den første med det problem
- er der ikke opensource bannerrotationssystemer som du kan lure i?

Der ser ud til at være noget her:
<http://www.google.com/search?q=banner+SQL+random>

Det her var det tætteste jeg kunne komme i MySQL-doc:
<http://www.mysql.com/doc/en/Mathematical_functions.html>

mvh

Jesper Brunholm

--
Phønix - dansk folk-musik i front - <http://www.phonixfolk.dk/>
H.C. Andersen-Centret: <http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: <http://garion.dk/>


Henrik Stidsen (13-10-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 13-10-03 14:03

Jesper Brunholm <nospam@brunholm-scharff.dk> wrote in
news:3F8A65CD.1030800@brunholm-scharff.dk

>> Jeg har overvejet at sige "den der har været vist færrest gange
>> skal vises", men det giver en del problemer.
>> 1. Hvis flere har været vist samme antal gange skal der ekstra
>> arbejde til
>
> Hvis du nu tager en random på dem der har været vist færrest
> antal gange?

Ja det kunne man jo, må være noget med en WHERE og en MIN() funktion.

>> 2. Hvis der tilføjes bannere vil det nyeste blive vist mange
>> gange før de 5 andre der har været vist 10.000 gange vises
>> igen.
>
> jeps - hvad med 'vist færrest gange den seneste uge'
> (/md/dag/time ) ?

Det kræver lidt mere data i tabellen men kan selvfølgelig lade sig
gøre.
Evt. ved at gemme hvornår banneret sidst er vist, og hvor mange gange
ialt. Det må kunne kombineres og give nye bannere mindre fordel i
forhold til antallet af gange det er blevet vist.

> Men det er måske så meget at gøre ud af det igen?

Ja det skal helst være så simpelt som muligt, specielt fordi der
kommer tidskrævende funktioner senere i systemet (noget med sockets
til remote servere osv...)

> Jeg har svært ved at forestille mig at du er den første med det
> problem - er der ikke opensource bannerrotationssystemer som du
> kan lure i?

God ide - det havde jeg ikke lige tænkt på. Havde kun tænkt på at jeg
ikke kunne kigge i det script den skal afløse for det er perl og
bruger flad-fil database. (jeg skal lave det i PHP med SQL database)

> Der ser ud til at være noget her:
> <http://www.google.com/search?q=banner+SQL+random>

Kigger på det - tak

> Det her var det tætteste jeg kunne komme i MySQL-doc:
> <http://www.mysql.com/doc/en/Mathematical_functions.html>

Ja der er jo ikke ligefrem meget.

--
..: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
Nerd is a word only used by those who can’t pronounce ’Intellectual’.
- http://query.dk/permlink.php?link=1058129898

Lars Dybdahl (18-10-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 18-10-03 09:55

Henrik Stidsen wrote:
> Jeg har overvejet at sige "den der har været vist færrest gange skal
> vises", men det giver en del problemer.

Hvad med

select min(bannerid)
from banner
where banner.sidstvist in (select min(sidstvist) from banner)

Alternativt må du jo udpege et bannerid med et tilfældigt tal fra dit
program.

Lars.

--
Freelance programmør


Henrik Stidsen (19-10-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 19-10-03 19:41

Lars Dybdahl <lars@dybdahl.dk> wrote in
news:3f90fff1$0$45345$edfadb0f@dread11.news.tele.dk

> select min(bannerid)
> from banner
> where banner.sidstvist in (select min(sidstvist) from banner)

Altså det banner med det laveste ID af dem der har været vist for
længst tid siden ? (hvis der er flere af dem)

Det lyder som en rimelig udvælgelse, tak for det.

--
..: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
Nerd is a word only used by those who can’t pronounce ’Intellectual’.
- http://query.dk/permlink.php?link=1058129898

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste