Ortaya çıkan kaydın olmasını istiyorsanız rastgele sıralandı , çeşitli veritabanlarına göre aşağıdaki kodları kullanmalısınız.
İşte bir soru: Veritabanından rastgele bir kayıt veya satır getirmeye ne gerek var?
Bazen aşağıdaki gibi rastgele bilgileri görüntülemek isteyebilirsiniz: makaleler, bağlantılar, sayfalar vb. kullanıcınıza.
sonraki Java'sı var
Herhangi bir veri tabanından rastgele satır getirmek istiyorsanız veritabanlarına göre değiştirilmiş bazı sorguları kullanmanız gerekir.
MY SQL ile rastgele bir satır döndürmek istiyorsanız aşağıdaki sözdizimini kullanın:
SELECT column FROM table ORDER BY RAND () LIMIT 1;
SELECT column FROM table ORDER BY RANDOM () LIMIT 1;
SELECT TOP 1 column FROM table ORDER BY NEWID ();
SELECT column FROM (SELECT column FROM table ORDER BY dbms_random.value) WHERE rownum = 1;
SELECT column RAND () as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY;
Bu kavramı pratik olarak anlamak için MySQL veritabanını kullanan bazı örneklere bakalım. Aşağıdaki verilerle veritabanında oluşturulmuş bir tablo öğelerimiz olduğunu düşünün:
Tablo: öğeler
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Satınalma tarihi |
---|---|---|---|---|
1 | Sabun | 5 | 200 2021-07-08 | |
2 | Diş macunu | 2 | 80 | 2021-07-10 |
3 | Dolma kalem | 10 | elli | 2021-07-12 |
4 | Şişe | 1 | 250 | 2021-07-13 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 |
Öğeler tablosundan herhangi bir rastgele kaydı almak istediğimizi varsayalım.
python dosyasına json yaz
Sorguyu şu şekilde yazacağız:
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Aşağıdaki sonuçları elde edebiliriz:
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Satınalma tarihi |
---|---|---|---|---|
3 | Dolma kalem | 10 | yirmi | 2021-07-12 |
Şimdi aynı sorguyu bir kez daha çalıştırmayı deneyelim.
mysql> SELECT * FROM items ORDER BY RAND () LIMIT 1;
Aşağıdaki sonuçları elde edebiliriz:
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Satınalma tarihi |
---|---|---|---|---|
5 | Fırçalamak | 3 | 90 | 2021-07-15 |
Yukarıdaki sonuçlardan, aynı sorguyu iki kez yürütmemize rağmen, her iki seferde de çıktı olarak farklı kayıtlar aldığımız sonucuna varabiliriz. RAND () fonksiyonu tek bir tablodan aynı sorgu için iki kere rastgele kayıt seçmiştir. Dolayısıyla aynı sorguyu tekrar çalıştırsak bile her seferinde farklı çıktı elde ederiz. RAND () fonksiyonunu kullanarak aynı kaydı ardı ardına alma olasılığı nadirdir.
Şimdi, tablodaki tüm kayıtların rastgele getirilmesini istediğinizi varsayalım.
Bunun için aşağıdaki sorguyu çalıştırmamız gerekiyor:
npm kurulum komutu
mysql> SELECT * FROM items ORDER BY RAND ();
Aşağıdaki sonuçları elde edebiliriz:
İD | Öğe adı | Öğe Miktarı | Ürün fiyatı | Satınalma tarihi |
---|---|---|---|---|
4 | Şişe | 1 | 250 | 2021-07-13 |
5 | Fırçalamak | 3 | 90 | 2021-07-15 |
1 | Sabun | 5 | 200 | 2021-07-08 |
2 | Diş macunu | 2 | 80 | 2021-07-10 |
3 | Dolma kalem | 10 | elli | 2021-07-12 |
Ayrıca RAND () fonksiyonunu çalışanlar tablosunda tekrar çalıştırırsak bazı farklı kayıt düzenlemeleri elde etme olasılığı da vardır.