我有一张桌子。我想创建一个小型彩票游戏。
t1
的数据如下。
+---------+------------------+-------------------+
| ID | typeid | createtime |
+---------+------------------+-------------------+
| 1 | 1 | 123456 |
| 2 | 2 | 123123 |
| 3 | 1 | 12312312312 |
| 4 | 1 | 13123123 |
| 5 | 1 | 123dddddaasd123 |
+------------------------------------------------+
我想在typeid = 1
。
我这样的查询(实际使用query
的{{1}}或fetch_all
?)
fetch_first
我想用
$qsid = DB::fetch_all("SELECT * FROM ".DB::table('t1')." WHERE typeid = 1");
选择获胜者,所以应该像array_rand
然后我可以使用最终结果来设置胜利者。或者对其他更好方法的任何建议?
谢谢。
答案 0 :(得分:2)
我们可以通过各种方式进行,让我们按照以下方式进行。
第一种方式:let's do it on mysql level
select ID from t1 where typeid =1 order by RAND() limit 1;
上面的查询将选择mysid的随机行,其中typeid为1。
第二路:let's do it on coding level
我们需要select ID from t1 where typeid =1
并将其保存在任何数组中,然后从数组中选择随机元素
int array[]={1,3,4,5}
int finalResultId = array[java.util.new Random().nextInt(array.length)]
我希望它会帮助你。感谢
答案 1 :(得分:2)
尝试这个新的
SELECT `ID`
FROM `t1`
WHERE `ID` IN (
SELECT `ID`
FROM `t1`
WHERE `typeid` = 1)
ORDER BY RAND()
LIMIT 1