相关疑难解决方法(0)

MySQL:ORDER BY RAND的替代品()

我已经阅读了MySQL ORDER BY RAND()函数的一些替代方法,但大多数替代方案仅适用于需要单个随机结果的位置.

有没有人知道如何优化返回多个随机结果的查询,例如:

   SELECT u.id, 
          p.photo 
     FROM users u, profiles p 
    WHERE p.memberid = u.id 
      AND p.photo != '' 
      AND (u.ownership=1 OR u.stamp=1) 
 ORDER BY RAND() 
    LIMIT 18 
Run Code Online (Sandbox Code Playgroud)

mysql sql random sql-order-by

58
推荐指数
3
解决办法
8万
查看次数

有没有办法从每组行中获取2行?

可能重复:
如何为每个组选择固定数量的行?

例如......如果我有这个表(按颜色排序):

--------------
| id | color |
--------------
| 95 | red   |
| 7  | red   |
| 44 | red   |
| 46 | red   |
| 49 | red   |
| 24 | green |
| 37 | green |
| 91 | green |
| 88 | green |
| 44 | blue  |
| 10 | blue  |
| 11 | blue  |
--------------
Run Code Online (Sandbox Code Playgroud)

我有办法从每种颜色中获取2行吗?例:

--------------
| id | color |
--------------
| …
Run Code Online (Sandbox Code Playgroud)

mysql sql greatest-n-per-group

2
推荐指数
1
解决办法
74
查看次数

标签 统计

mysql ×2

sql ×2

greatest-n-per-group ×1

random ×1

sql-order-by ×1