我正在MySQL中使用FIND_IN_SET
,如下所示:
SELECT
color, b.id
FROM cards b
where FIND_IN_SET(b.color, 'gold,gold,bronze,silver,silver') > 0
GROUP BY b.id
ORDER BY RAND()
limit 5;
我得到如下输出:
但是,我想以与提供给FIND_IN_SET
的参数字符串相同的顺序获得卡片,>]
gold, gold, bronze, silver, silver
因此,第一输出行应该是金色,然后是另一个金色,然后是古铜色,依此类推-以相同的顺序进行,没有任何随机搜索。
我无法进行自我加入,因为这是一张大桌子。请帮助。
我正在MySQL中使用FIND_IN_SET,如下所示:选择颜色,b.id来自卡片b,其中FIND_IN_SET(b.color,'gold,gold,bronze,silver,silver')> 0 GROUP BY b.id ORDER BY .. 。
[您将需要使用3个查询的UNION
来执行此操作,以查找随机的“金”,“银”和“青铜”奖牌列表,然后使用FIELD
排序这些结果: