当前位置: 首页 > 面试题库 >

SQLite-ORDER BY RAND()

姜弘化
2023-03-14
问题内容

在MySQL中,我可以使用RAND()函数,SQLite 3中还有其他选择吗?


问题答案:

使用random():

SELECT foo FROM bar
  WHERE id >= (abs(random()) % (SELECT max(id) FROM bar))
  LIMIT 1;

编辑(按QOP): 由于SQLite Autoincrement
ed列上的文档指出:

只要您从不使用最大ROWID值并且从未删除具有最大ROWID的表中的条目,上述常规ROWID选择算法 将生成单调递增的唯一 ROWID。
如果您曾经删除行,那么在创建新行时,可能会重复使用先前删除的行中的ROWID

上面的内容只有在没有INTEGER PRIMARY KEY AUTOINCREMENT列的情况下才适用(它对列仍然可以正常使用INTEGER PRIMARY KEY)。无论如何,这应该更便携/更可靠:

SELECT foo FROM bar
  WHERE _ROWID_ >= (abs(random()) % (SELECT max(_ROWID_) FROM bar))
LIMIT 1;

ROWID_ROWID_并且OID都是SQLite内部行ID的别名。



 类似资料:
  • SQLite是一种基于模式的轻量级关系数据库引擎。 它是用于Web浏览器中本地存储的嵌入式数据库软件的流行选择。 与许多其他数据库管理系统不同,SQLite不是客户端 - 服务器数据库引擎。 有关更多信息,请阅读我们的 SQLite教程 在本章中,您将学习如何使用CoffeeScript与SQLite数据库进行通信。 安装 (Installation) 可以使用node-sqlite3模块将SQL

  • SQLite 是一个实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。 简介 优点 SQLite 是自给自足的,这意味着不需要任何外部的依赖。 SQLite 是无服务器的、零配置的,这意味着不需要安装或管理。 SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。 SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于 2

  • 问题 你需要 Node.js 内部与 SQLite 数据库连接的接口。 解决方案 使用 SQLite 模块。 sqlite = require 'sqlite' db = new sqlite.Database # The module uses asynchronous methods, # so we chain the calls the db.execute exampleCreate

  • Python有一个内置的SQlite支持。 SQlite3模块附带Python发行版。 有关在Python中使用SQLite数据库的详细教程,请参阅此链接 。 在本节中,我们将了解Flask应用程序如何与SQLite交互。 创建一个SQLite数据库'database.db'并在其中创建学生表。 import sqlite3 conn = sqlite3.connect('database.db'

  • Support for the SQLite database. The following table summarizes current support levels for database release versions. 支持的SQLite版本 The following dialect/DBAPI options are available. Please refer to ind

  • 如果需要一个类似于mysql之类的小型关系数据库服务器,这个就是了。 来看代码: #include <mongols/sqlite_server.hpp> int main(int, char**) { int port = 9090; const char* host = "127.0.0.1"; mongols::sqlite_server server(ho

  • SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在

  • 主要内容:安装,Python sqlite3 模块 API,连接数据库,实例,创建表,实例,INSERT 操作,实例,SELECT 操作,实例,UPDATE 操作,实例,DELETE 操作,实例安装 SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。您不需要单独安装该模块,因为 Python 2.5.x 以上版本默认自带了该