[]
Mysql rastgele değerleri almak
iyi günler arkadaşlar.
veritabanımda atıyorum 100 adet kayıt var.
demek istiyorum ki: bu 100 kaydın 10 tanesini rastgele bir şekilde getir onları kullanayım.
nasıl yapabilirim?
veritabanımda atıyorum 100 adet kayıt var.
demek istiyorum ki: bu 100 kaydın 10 tanesini rastgele bir şekilde getir onları kullanayım.
nasıl yapabilirim?
google'da mysql random yazdım 80 tane falan sonuç çıktı.
jfgi
jfgi
- esenboga (24.07.15 16:49:10)
SELECT col FROM tablo ORDER BY RAND() LIMIT 1;
- masa penisi (24.07.15 16:53:45)
SELECT col FROM tablo ORDER BY RAND() LIMIT 10;
- cheers for fears (24.07.15 16:59:43)
eğer veri zaman ile artacak ise işi 3 sorgu ile çözmen lazım, min id'yi alacan, max id'yi alacan max_id - 10 diyip, aradan bir tanesini random seçecen (php ile falan olabilir), sonra select * from where id>=$rand_id limit 10 diyecen, eğer sonuç gelmezse <= diyip tekrar alacaksın. verin büyümeyecek ise sorun yok rand() işini görür tek başına.
tabii bu dediğim id'lerin int olması durumunda işe yarıyor, string yada hash falan ise rand'a devam.
tabii bu dediğim id'lerin int olması durumunda işe yarıyor, string yada hash falan ise rand'a devam.
- selam (24.07.15 18:59:23 ~ 19:01:00)
100 kayıt var dedin diye rand() komutunu önerdim.
satır sayısı 10k ve üzeri ise rand() komutu yavaşlatacaktır. bu durumlarda php ile 1-10k arasında rastgele sayılar üretip veritabanından sadece o sayıları çekmen gerekecek performans için.
satır sayısı 10k ve üzeri ise rand() komutu yavaşlatacaktır. bu durumlarda php ile 1-10k arasında rastgele sayılar üretip veritabanından sadece o sayıları çekmen gerekecek performans için.
- cheers for fears (25.07.15 13:30:28)
1