logo

SQL RASTGELE OLARAK SIRALAMA

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.

    MySQL ile rastgele bir satır seçin:

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; 
    Postgre SQL ile rastgele bir satır seçin:
 SELECT column FROM table ORDER BY RANDOM () LIMIT 1; 
    SQL Server ile rastgele bir satır seçin:
 SELECT TOP 1 column FROM table ORDER BY NEWID (); 
    Oracle ile rastgele bir satır seçin:
 SELECT column FROM (SELECT column FROM table ORDER BY dbms_random.value) WHERE rownum = 1; 
    IBM DB2 ile rastgele bir satır seçin:
 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.