(2)
MySQL Sorusu - 2 (random'ı adam etmek)
nasıl aratacağımı bile bilmediğim için çözemedim. en azından keyword verirseniz o da işimi görür.order by RAND() limit 4 diyip listeden rastgele değerler seçtiriyorum. (veritabanından seçtiği değerler 1 ile 99 arasında integer alan kolonlar)burada şunu yapmak istiyorum: bu dört tane seçim arasında a
nasıl aratacağımı bile bilmediğim için çözemedim. en azından keyword verirseniz o da işimi görür.
order by RAND() limit 4 diyip listeden rastgele değerler seçtiriyorum. (veritabanından seçtiği değerler 1 ile 99 arasında integer alan kolonlar)
burada şunu yapmak istiyorum: bu dört tane seçim arasında aşağıdaki aralıklarda 2den fazla değer olmasın:
1-9 = en fazla 2 tanesi bu aralıktan gelebilir
10-19 = en fazla 2 tanesi bu aralıktan gelebilir
20-29 = en fazla 2 tanesi bu aralıktan gelebilir.
bu random'ı bu şekilde böldürebiliyor muyum?
0
hangi dili kullanıyorsunuz?
0
işimdeyim gücümdeyim
(
16.08.18)
şu mantık karmaşık ama istediğin olur:
select * from
(select * from table where col1>= 1 and col1 <10 order by RAND() limit rand()*3
union all
select * from table where col1>= 10 and col1 <20 order by RAND() limit rand()*3
union all
select * from table where col1>= 20 and col1 <30 order by RAND() limit rand()*3
union all
select * from table where col1>= 30 order by RAND()
) x limit 4
mysql için systax doğru olmayabilir, limitlerdeki rand'leri integer'a çevirmek gerekebilir.
0
altinci nesil caylak
(
16.08.18)