我已经搜索了一段时间,但结果让我感到困惑,因为我对MySQL还很陌生。
我有一个包含这4个列的表: AUTO_INCREMENT ID、NAME、TYPE、CHANCE
,所以行看起来像这样:
1, NOTHING, NO, 35
1, VERSICOLOR, TREE, 35
3, DIVERSIPES, TREE, 35
4, AMAZONICA, TREE, 35
5, EMILIA, GROUND, 25
6, BOEHMI, GROUND, 25
7, SMITHI, GROUND, 25
8, METALLICA, SKY, 5
9, REGALIS, SKY, 5
注意:这些只是简单的例子,会有100多个类似的例子。我需要做的是从该表中选择一行,选择的概率如“CHANCE”列所示。
意思是:我需要从9行中选择一行,结果可能是“VERSICOLOR、DIVERSIPES、AMAZONICA或NOTHING,概率为35%”,或者是“EMILIA、BOEHMI或SMITHI,概率为25%”,或者是“METALLICA或REGALIS,概率为5%”。因此,这个查询可能会给我“VERSICOLOR、DIVERSIPES、AMAZONICA或NOTHING”的结果,因为它有35%的机会,或者我运气好,会得到“METALLICA或REGALIS” :)
基本上有3种类型的组,地面、树和天空。我想要做的就是从所有这些类型中仅获取一个结果。地面、树或天空类型的物品具有特定的概率,但要确定,我不希望每个组都有一个,我只想要一个结果,它可以是地面、树或天空类型的物品。 希望我已经解释清楚了。问候。