mysql - 如何array_rand一个数组?

标签 mysql arrays

我有一张 table 。我想制作一个小型彩票游戏。

t1 有如下数据。

+---------+------------------+-------------------+
| ID      | typeid           | createtime        |
+---------+------------------+-------------------+
| 1       | 1                | 123456            |
| 2       | 2                | 123123            |
| 3       | 1                | 12312312312       |
| 4       | 1                | 13123123          |
| 5       | 1                | 123dddddaasd123   |
+------------------------------------------------+

我想在 typeid = 1 时选择获胜者。

我的查询是这样的(实际上是使用fetch_firstquery还是fetch_all?)

$qsid = DB::fetch_all("SELECT * FROM ".DB::table('t1')." WHERE typeid = 1");

我想用

array_rand 选择获胜者,所以应该像 array_rand(1,3,4,5);

然后我可以根据最终结果来确定获胜者。或者对其他更好的方法有什么建议吗?

谢谢。

最佳答案

Try This New One

SELECT `ID` 
FROM `t1` 
WHERE `ID` IN (
               SELECT `ID` 
               FROM `t1` 
               WHERE `typeid` = 1)
ORDER BY RAND()
LIMIT 1

关于mysql - 如何array_rand一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38810591/

相关文章:

mysql - InnoDB 文档 支持事务、行级锁定和外键

python - 如何从多个等长数组中删除相同的随机项?

python - 使用从 np.argsort() 返回的索引对 2D numpy 数组进行排序

java - 迭代对象

写入字节数组时出现java.lang.NullPointerException

php - JSON 请求总是返回 null

mysql - org.hibernate.MappingException :Could not determine type for

mysql - 坐标在哪个多边形中?

c - 冒泡排序在 C 中不排序(Cormen 的伪代码)

php - MySQL对字符串进行编码并添加问号