İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

100.000 kayıttan rasgele 100 kayıt nasıl çekilir?

hakanyal

0
İyinet Üyesi
Katılım
20 Şubat 2005
Mesajlar
302
Reaction score
0
arkadaşlar asp+mysql kullanıyorum. veritabanında 100000 civarında kayıt var ve içinden rasgele kayıt çektiriyorum. rand() ile yaptığımda kasıyor. bunu kasmadan yapmamın bir yolu varmı? yada bu işten vazmı geçsem :D
 

forumselcuk

0
İyinet Üyesi
Katılım
26 Şubat 2006
Mesajlar
713
Reaction score
1
Konum
Selçuk Üniversi
şimdi rand() 0 ile 1 arasında bir sayı çevirir
o zaman 0<x<1 matematikden her tarafı 100.000 ile çarparsan
0<x<100000 (x neden 100000 le çarpılmadı deme çünkü zaten değişken)
sonra bunu alır ceil() yada round() gibi komutlarla tam sayıya çevirirsin
ve bunu bir for döngüsü ile 100 defa tekrar edersin olur biter
aşağı yukar şöyle bir kod işini görür
Kod:
for i=0 to 100
sayi=Round(rand()*100000)
Set rs=con.execute("select * from tablo where id="&sayi)
.
.
.
next
 

hakanyal

0
İyinet Üyesi
Katılım
20 Şubat 2005
Mesajlar
302
Reaction score
0
teşekkürler forumselcuk sorguları tek tek yapmamı söylüyorsun. bu seferde eof değerler boşta kalacak. aradalarda boş idler var onu ben hallederim. peki bir sorum olacak bu şekilde 100 tane "tek tek" sorgu yaptırmak sqli yorar mı?
 

forumselcuk

0
İyinet Üyesi
Katılım
26 Şubat 2006
Mesajlar
713
Reaction score
1
Konum
Selçuk Üniversi
Valla o kadarını bilmem ama illa bir defada bitireyim dersen aklıma şöyle bişey gelir
0 la 1000 arasında bir sayı tuttur,mesela 568 geldi o zaman
1568
2568
3568
.
.
.
.
99568
kayıtlarını alabilirsin mesela
bunun içinde sql sorgusu şöyle yapılabilir
select * from tablo where id like '%568'
'%568' demek başı ne olursa olsun ama sonu 568 ile bitenleri al dersin ama bu access de mysql in joker karakteri hangisiydi tam bilmiyorum
 

disconnect

0
İyinet Üyesi
Onaylı Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Reaction score
5
Select * from tablo order by rand() desc limit 0,100
Sadece kullanacağın alanları çekersen bir problem yaratmaz.
 

hakanyal

0
İyinet Üyesi
Katılım
20 Şubat 2005
Mesajlar
302
Reaction score
0
disconnect bahsettiğini şekilde kullanıyorum zaten sadece alışık olmadığım bir şey anasayfanın 1 sn geçkin bir sürede oluşturulması. localde 1. geçerse serverde neler olacak tahmin edemiyorum

forumselcuk dediğin olayda güzel bende bir benzerini yaptım. tablodaki verilere rasgele numaralar verdim ve index attım, randominze bir sayıyla limit x,100 yaparak kullanıyorum
en hızlı şekli bu oldu . idler arasındaki boşluğu silip ilk dediğin kodu kullanmakta mantıklı.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst