我有一个示例代码
products(id, name)
1 | Apple
2 | Sony
3 | Nokia
4 | Samsung
5 | LG
6 | Motorola
7 | Ekricson
Run Code Online (Sandbox Code Playgroud)
和mysql:
SELECT id, name FROM `products` AS prod
ORDER BY RAND(prod.id) LIMIT 5
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,结果是:
4 | ...
7 | ...
1 | ...
5 | ...
6 | ...
Run Code Online (Sandbox Code Playgroud)
但接下来......的结果是:
4 | ...
7 | ...
1 | ...
5 | ...
6 | ...
Run Code Online (Sandbox Code Playgroud)
当随机运行时,我不会改变,如何修复ix
你应该使用ORDER BY RAND()而不是ORDER BY RAND(prod.product_id)
来自RAND手册:
RAND(), RAND(N)
Returns a random floating-point value v in the range 0 <= v < 1.0.
If a constant integer argument N is specified, it is used as the seed value
which produces a repeatable sequence of column values.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |