mysql - 如何使用mysql随机排序结果?

标签 mysql sql

我有一个这样的表:

// mytable
+----+-------+-------+
| id | color | numb  |
+----+-------+-------+
| 1  | red   | 1     |
| 2  | red   | 2     |
| 3  | red   | 3     |
| 4  | blue  | 1     |
| 5  | blue  | 2     |
| 6  | green | 1     |
| 7  | green | 2     |
| 8  | green | 3     |
| 9  | green | 4     |
+----+-------+-------+

现在我想为每个请求随机(动态顺序) 一个不同的顺序。例如,这里是查询:

select * from mytable where color = 'green' order by {?};

第一次执行:

// newtable
+----+-------+-------+
| 7  | green | 2     |
| 6  | green | 1     |
| 8  | green | 3     |
| 9  | green | 4     |
+----+-------+-------+

第二次执行:

// newtable
+----+-------+-------+
| 9  | green | 4     |
| 8  | green | 3     |
| 6  | green | 1     |
| 7  | green | 2     |
+----+-------+-------+

等等...,没有任何特定规则..只是随机的。那么,是否有任何 mysql 函数或任何方法可以做到这一点?

最佳答案

您可以使用 order by rand()rand() 函数产生一个随机值并记录在案 here .

关于mysql - 如何使用mysql随机排序结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34251790/

相关文章:

mysql - 如何在mysql中输入数据

sql - Postgresql触发器函数语法错误

c# - 更新表适配器配置引用错误

sql - SQL Server 2012 中的自动计算列

MySQL使用多列选择重复记录

php - 使用单个 mysql 查询检查 child 是否是后代

MySQL WordPress 查询返回某些记录的距离为零

c# - MYSQL 插入很慢

java - 在 catch block 内抛出异常

java - 是否有查询 HTML 表的 SQL 包装器