Mysql rand veri çekme
7
●126
- 20-03-2023, 03:06:36Aşağıdaki şekilde dener misiniz?
emirkrgz adlı üyeden alıntı: mesajı görüntüleSELECT * FROM tablo_adi ORDER BY RAND() LIMIT 20;
- 20-03-2023, 03:12:25Böyle deneyin biemirkrgz adlı üyeden alıntı: mesajı görüntüle
SELECT DISTINCT stün FROM tablo_adi ORDER BY RAND() LIMIT 20;
- 20-03-2023, 20:07:36ilk queryiniz
select tablo.id, tablo.veri1, tablo.veri2 from tablo where 1=1 order by rand(tablo.id) limit 20
daha sonra bu query den dönen sonuçlardan id leri toplayın sonraki tablo.id not in deki parantez içine , ile ayrılacak şekilde koyun.
select tablo.id, tablo.veri1, tablo.veri2 from tablo where tablo.id not in (1,2,3,4) order by rand(tablo.id) limit 20
rand a index i olan bir sütün kullanın ve select * kullanmayın. - 20-03-2023, 20:28:41Her seferinde unique gelmesini istiyorsanız sorgulardan dönen değerlerin idlerini bir yere kaydettirip o idleri sorguda exlude etmeniz gerekmektedir.
Örneğin aşağıdaki sorguda id1, id2, id3 diye örneklendirdiğim idler hariç rastgele bir veri getirilecektir.
Örnek sorgu: SELECT * FROM tablo_adi WHERE id NOT IN (id1,id2,id3) ORDER BY RAND() LIMIT 20;