我有一个简单的表:
ID | name
============
1 | Foo
2 | Bar
3 | Loo
4 | Zoo
5 | Car
要获得一个随机行,我可以使用RAND()
SELECT * FROM TABLE ORDER BY RAND() LIMIT 1
现在,我想选择一个带有“标识符”的随机条目,这有助于我获得始终相同的结果。
这里有一些例子可以更好地解释我的需求:
标识符= 9876
SELECT * FROM TABLE ORDER BY ??? = "9876" LIMIT 1
// result
ID | name
============
5 | Car
标识符= 363
SELECT * FROM TABLE ORDER BY ??? = "363" LIMIT 1
// result
ID | name
============
3 | Loo
标识符= 13537
SELECT * FROM TABLE ORDER BY ??? = "13537" LIMIT 1
// result
ID | name
============
3 | Loo
如您所见,即使标识符不同,最后两个结果也是相同的。
要求/前提条件:
我在order子句中与(FLOOR(1+RAND(table.ID)*100 )) = $identifier
一起玩,但是没有得到想要的结果。