SQLite veritabanından rastgele bir kayıt almak nasıl?

1 Cevap php

PHP üzerinde çalışıyorum. Ben daha önce MySQL ile çalışıyordu. Burada kullanılan kod -

 $offset_result = mysqli_query($con, " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM students ");
 $offset_row = mysqli_fetch_object( $offset_result );
 $offset = $offset_row->offset;
 $result = mysqli_query($con, " SELECT name FROM students LIMIT $offset, 1 " );      
 $row = mysqli_fetch_row($result);
 mysqli_free_result($result);

Ne SQLite için tabloların gelen kümesi olacak?

1 Cevap

Bu SQL sorguları sadece RAND RANDOM ve FLOOR(x) olarak değiştirin eğer SQLite'ta çalışmak CAST(x AS INTEGER). Gerekir

Bunu yapmak için bir biraz daha basit bir yolu rastgele bir sayı ile sipariş için:

SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1

Tablo çok büyük ise bunu yapıyorsun yolu daha verimlidir.