Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP MySQL chọn các hàng ngẫu nhiên

Cách tốt nhất tôi đã tìm thấy để chọn bất kỳ số lượng bản ghi ngẫu nhiên nào là sử dụng OFFSET trong truy vấn.

Giả sử bạn muốn có 6 bản ghi ngẫu nhiên, vì vậy tôi sẽ mượn một câu trả lời ở trên và đếm tổng số bạn bè trong cơ sở dữ liệu.

$sql = mysql_query("SELECT COUNT(*) AS total FROM friends WHERE member_id='". $_SESSION['userid'] ."'");

$get_count = mysql_fetch_array($sql); // Fetch the results

$numfriends = $get_count['total']; // We've gotten the total number

Bây giờ chúng ta sẽ lấy 6 bản ghi ngẫu nhiên trong tổng số ở trên (hy vọng là> 6),

$query = mysql_query("SELECT * FROM friends WHERE member_id='". $_SESSION['userid'] ."' LIMIT 6 OFFSET " . (rand(0, $numFriends));


while ($rows = mysql_fetch_array($query))
{
  /// show your $rows here
}

Sử dụng OFFSET có thể không phải là tốt nhất hoặc hiệu quả nhất, nhưng nó phù hợp với tôi trên các cơ sở dữ liệu lớn mà không làm chúng khó chịu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. opencart - Làm cách nào để hiển thị thủ công một mô-đun bên trong tệp mẫu?

  2. ngủ đông lỗi truy vấn SQL gốc

  3. MySQL cập nhật một trường với một biến tăng dần

  4. Django Nhiều cơ sở dữ liệu Dự phòng cho Master nếu Slave bị lỗi

  5. MySQL:Hợp nhất hai bảng khác nhau mà không có JOIN hoặc UNION