我想建立一个包含ORDER BY rand()0个用户的数据库,随机 Select 20个用户(ORDER BY rand()LIMIT 20),然后按名称对结果集进行排序.我提出了下面的问题,它的工作方式和我希望的一样.

SELECT * FROM users WHERE 1 ORDER BY rand(), name ASC LIMIT 20

推荐答案

使用子查询:

SELECT * FROM 
(
    SELECT * FROM users ORDER BY rand() LIMIT 20
) T1
ORDER BY name 

内部查询随机 Select 20个用户,外部查询按名称对所选用户进行排序.

Mysql相关问答推荐

如何有效地计算共同的朋友/追随者?

过程/别名是有点长的MySQL命令的一部分吗?

SQL计算不同的列并返回所有行

在联合查询中使用GROUP BY和ORDER BY

如果WHERE语句包含所有列,唯一键顺序是否重要?

global max_connections 和 spring.hikari.maximumPoolSize 有什么区别?

如何根据购买的商品数量查找 unique_ids 的数量

如何解码存储在带有type*:前缀的base64中的数据?

如何 Select 具有最新的 2 个日期字段的行?

SQL 根据多行值获取记录

查询mysql中无法识别数据值

mysql从另一个表中 Select 不相等的值

MySQL 视图

MySQL Group By 和 Sum 其他列的总值

utf8mb4_unicode_ci 与 utf8mb4_bin

NodeJS/mySQL - ER_ACCESS_DENIED_ERROR 用户'root'@'localhost'的访问被拒绝(使用密码:是)

使用 Java 通过 SSH 连接到远程 MySQL 数据库

Ubuntu 中的 MySQL JDBC jar 文件在哪里?

MySQL导入数据库但忽略特定表

带有 LIKE 运算符的 Select 语句中的 MySQL case