【发布时间】:2021-02-21 01:36:56
【问题描述】:
我想从 MySQL 中随机选择一行,但该行必须在表中出现 3 次。信不信由你,但我实际上有充分的理由想要这样做!假设我有一个包含以下数据的表。
word wordType
house noun
house noun
house noun
car noun
car noun
car noun
floor noun
floor noun
我希望我的 select 语句随机选择一个实例,其中 wordType = 'noun' 但该单词必须在表中出现 3 次。所以结果可能一次是房子,下一次可能是汽车,但它是随机的,所以它可能多次是相同的结果,但它永远不会选择地板,因为地板只出现在表格中两次。
这是一些示例输出
myquery = house
myquery = house
myquery = car
我试过了,但是没用
SELECT SUBSTRING_INDEX(GROUP_CONCAT(word ORDER BY RAND()),',', 1) AS word
FROM myTable
WHERE wordType ='noun'
HAVING COUNT(*)= 3;
【问题讨论】: