【发布时间】:2014-04-27 15:44:26
【问题描述】:
我搜索了一段时间,但结果让我很困惑,因为我对 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
注意:这些都是简单的例子,会有 x100 喜欢它们。我需要做的是从该表中选择一行,机会如CHANCE 列所示。
意义;我需要从其中的 9 行中选择一行,结果可以是“VERSICOLOR、DIVERSIPES、AMAZONICA 或 NOTHING 有 35% 的机会”或“EMILIA、BOEHMI 或 SMITHI 有 25% 的机会”或“METALLICA 或 REGALIS 有 %5 的机会”。所以这个查询可能会给我“VERSICOLOR、DIVERSIPES、AMAZONICA 或 NOTHING”的结果,因为它有 35% 的机会,或者我很幸运,我会得到“METALLICA 或 REGAIS”:)
基本上有 3 组类型,GROUND、TREE 和 SKY。我想做的是从所有这些中只得到一个结果。 GROUND、TREE 或 SKY 类型的项目有一定的机会,但可以确定的是,我不想要每个组一个,我只想要一个结果,它可以是 GROUND、TREE 或 SKY 类型的项目。 我希望我确实解释了自己。问候。
【问题讨论】: