Pogledajte određenu poruku
Staro 26. 04. 2007.   #8
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Očigledno se nisi potrudio da pročitaš šta su ti ljudi napisali nego teraš svoje...

Da probam da približim ovo što Ivanhoe kaže (filmil je i za mene previše stručan ), prenoseći ideju u svet baza.

Dakle, na raspolaganju ti je npr. najobičnija unfiormna random funkcija rand(n), koja vraća ceo broj između 0 i n.

Imaš tabelu T sa nekim ID-jem i nekim slogovima. Svaki slog ima polje težina, koja je neki integer. Hoćeš da polje sa 5 puta većom težinom od drugog bude 5 puta verovatnije izvučeno iz random bubnja. Uradiš sledeće:

n := select sum(težina) from T

x := rand(n)

Upit koji ti vraća traženi slog je:

Kôd:
select top 1 t1.id, sum(t2.težina) from tabela t1
inner join tabela t2 on t1.težina > t2.težina
group by t1.id
having sum(t2.težina) <= x
order by sum(t2.težina) desc
jablan je offline   Odgovorite uz citat