我想从领域表中选择一个随机行。像 -
这样的东西SELECT * FROM table ORDER BY RANDOM() LIMIT 1;
答案 0 :(得分:5)
这样的事情可以,是吗?
Random random = new Random();
RealmResults<YourTable> list = realm.where(YourTable.class).findAll();
YourTable yourTable = list.get(random.nextInt(list.size()));
答案 1 :(得分:0)
取决于你想做什么:
您想从表中获取随机行吗? 或随机表中的一个(随机)行?
我猜你的意思是前者: 如果您的表中有id,则可以:
SELECT * FROM table b WHERE id = FLOOR(RAND() * (3 - 0 + 1)) + 0
你应该像这样放置一个最小值和最大值:
FLOOR(RAND() * (<max> - <min> + 1)) + <min>
(如找到here)
答案 2 :(得分:0)
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
答案 3 :(得分:-1)
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);
假设您有一个扩展SQLiteOpenHelper的类DatabaseHelper
,它可以正常工作