【发布时间】:2017-03-27 20:37:18
【问题描述】:
我希望有一个 mySQL 查询,我可以在其中选择设置为特定值的所有记录,然后以随机顺序从剩下的记录中选择一些其他记录。
为了解释,这里举个例子:(MyTable数据库表)
ID Name SomeValue
1 Fred 0
2 Jake 0
3 Jone 1
4 Bill 0
5 Greg 0
6 Thom 2
7 Jane 3
8 Erin 0
首先,我想选择 SomeValue 大于 0 的所有记录。对此的适当 mySQL 查询是:
SELECT * FROM MyTable WHERE SomeValue > 0 ORDER BY SomeValue DESC
这将返回:
7 Jane 3
6 Thom 2
3 Jone 1
接下来(在同一个查询中),如何从剩余的记录中随机选择 3 个其他记录(限制为 6 个)?
因此返回的记录的最终结果如下所示:
7 Jane 3
6 Thom 2
3 Jone 1
5 Greg 0 // Randomly picked
1 Fred 0 // Randomly picked
8 Erin 0 // Randomly picked
【问题讨论】:
标签: mysql sql random sql-order-by