Select 领域中的随机行 table

Select a Random row in realm table

我想 select 领域 table 中的随机行。像 -

SELECT * FROM table ORDER BY RANDOM() LIMIT 1;

取决于你想做什么:

您想从 table 中随机获取一行吗? 或来自随机 table?

的(随机)行

我猜你指的是前者: 如果您的 table 中有一个 ID,您可以:

SELECT * FROM table b WHERE id = FLOOR(RAND() * (3 - 0 + 1)) + 0

您应该像这样在此处放置最小值和最大值:

FLOOR(RAND() * (<max> - <min> + 1)) + <min>

(发现 here

像这样就可以了,是吗?

Random random = new Random();
RealmResults<YourTable> list = realm.where(YourTable.class).findAll();
YourTable yourTable = list.get(random.nextInt(list.size()));
String query =String.format("SELECT * FROM realm ORDER BY %d LIMIT 1", random());
databaseHelper = new DatabaseHelper(this);
        database = databaseHelper.getWritableDatabase();
Cursor cursor = database.execSQL(query);

假设你有一个 class DatabaseHelper 扩展 SQLiteOpenHelper

SWIFT 5

我这样做了,效果很好:

let results      = realm.objects(MyObject.self)        // Get all the objects
let randomIndex  = Int.random(in: 0 ..< results.count) // Get a random number within the number of objects returned
let randomObject = results[randomIndex]                // Get a random object