mysql - 使用 where 子句从 MySQL 中选择随机条目

标签 mysql random where-clause

我现在有这个解决方案:

rs = lState.executeQuery("SELECT FLOOR(RAND() * COUNT(*)) 
        FROM bases 
        WHERE user_id = " + userId + " AND is_valid = 1");

rs.next();
count = rs.getInt(1);

rs = lState.executeQuery("SELECT id, server, server_port, server_ssl,
        server_starttls, server_auth, email, password, auth_wholemail 
         FROM bases LIMIT " + count + ", 1");

但它不起作用,因为 FLOOR(RAND() * COUNT(*)) 没有返回 id 且 is_valid = 1。 那么如何使用where子句(where is_valid = 1)从MySQL中快速选择随机条目呢?

最佳答案

尝试使用 ORDER BY 子句。试试这个:

  SELECT COUNT(user_id) FROM bases WHERE user_id = " + userId + " AND is_valid = 1 ORDER BY RAND() LIMIT 1

这将从表中随机返回一行。

关于mysql - 使用 where 子句从 MySQL 中选择随机条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073176/

相关文章:

php mysql .htaccess

mysql - 如何使用 php 显示 count() sql 函数

mysql 区分大小写的字段名查询

MySQL 日期时间范围不起作用

c# - 以下两个语句有什么区别?

mysql - 如何将多个 csv 文件导入 MySQL 数据库

Python:从 n 维数组中定义的离散分布中抽样

Php/MySQL 帮助 - 每日随机选择?

Javascript - 选择随机数组 IF 与当前数组相同,然后选择另一个

mysql - 同表同列不同条件查询