Muhtemelen birçok arkadaşımızın başına gelmiştir diye düşünüyorum. Veritabanından rastgele bir kayıt çekmek istemişsinizdir. Birçoğumuz bu işlemi dataları çektikten sonra random bir sayı üreterek yapıyo olsa da bu yöntem çok yavaş ve performanssızdır.

Düşünün ki 1.000.000 kayıdınız var ve bunlar arasından sadece 1 kayıdı rastgele çekmek istiyorsunuz. Bu gibi bir işlemde 1 Milyon kayıdı veritabanından çekip de 1 ile 1 milyon arasında random bir sayı üretip de DataSet'inizden veya DataTable'nızdan o kayıdı süzüp çekmek çok mantıksız bir hareket olsa gerek :)

Neyse konuyu fazla uzatmadan bu işlemi veritabanlarında nasıl yapabileceğimizi göreceğiz.

Bu işlemi eğer MSSQL'de yapmak istiyorsanız;

SELECT TOP 1 Alanlar FROM TabloAdi ORDER BY NEWID()

Eğer Access ise veritabanımız;

SELECT TOP 1 IDAlani, Alanlar FROM TabloAdi ORDER BY Rnd(IDAlani)

bunları yazmamız seçtiğimiz veritabanına göre yeterli olacaktır.

Farklı veritabanları ile alakalı rastgele kayıt çekmek ile alakalı probleminiz varsa yazabilirsiniz.

Selametle...



RSS 2.0
Sor Bakalım...
Arama
  Ara
Paylaş
| Diğer
Destek