代码之家  ›  专栏  ›  技术社区  ›  Bruce

如何从sqlite数据库中提取随机记录?

  •  0
  • Bruce  · 技术社区  · 15 年前

    我正在研究PHP。我以前用过MySQL。这是我用的密码-

     $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);
    

    sqlite对应的语句集是什么?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Mark Byers    15 年前

    如果您只是更改,那么这些SQL查询应该在sqlite中工作。 RAND RANDOM FLOOR(x) CAST(x AS INTEGER) .

    一个稍微简单的方法是按随机数排序:

    SELECT name
    FROM students
    ORDER BY RANDOM()
    LIMIT 1
    

    如果桌子很大的话,这样做的效率会更高。

    推荐文章