Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 随机选择3个单词(记录)-每个字母计数一个_Mysql_Sql - Fatal编程技术网

Mysql 随机选择3个单词(记录)-每个字母计数一个

Mysql 随机选择3个单词(记录)-每个字母计数一个,mysql,sql,Mysql,Sql,我有一个包含大量单词的表格,还有一个字段,其中包含每个单词的字母数 编辑:下面的示例数据集仅显示了表格布局-有65000行,包含所有长度组合 word_id,word,letter_count 54908,swanage,7 37338,natured,7 61637,untwisting,10 我试图随机选择三个单词,确保其中一个是4个字母,一个是7个字母,还有一个是10个字母 下面是我的SQL查询 SELECT * FROM password WHERE letter_count = 4

我有一个包含大量单词的表格,还有一个字段,其中包含每个单词的字母数

编辑:下面的示例数据集仅显示了表格布局-有65000行,包含所有长度组合

word_id,word,letter_count
54908,swanage,7
37338,natured,7
61637,untwisting,10
我试图随机选择三个单词,确保其中一个是4个字母,一个是7个字母,还有一个是10个字母

下面是我的SQL查询

SELECT * FROM password
WHERE letter_count = 4 OR letter_count = 7 OR letter_count = 10
ORDER BY RAND()
LIMIT 3
以上将返回3条随机记录,但可能有4、7或10个字母的任意组合

有人能帮忙吗

谢谢


约翰

这是不可能的。数据集中没有4个字母的单词(虽然我能想到一些)@low抱歉,示例数据集只是显示了表格布局-有65000行的所有委员会,我不知道为什么会被否决。这是正确的方法,一个随机找到四个字母的单词,一个随机找到七个字母的单词,一个随机找到十个字母的单词。不过,最好是
UNION ALL
;没有可删除的重复项。@ThorstenKettner Haters会讨厌;-)我同意@ThorstenKettner-是一种享受,看到它被否决,我很惊讶。
DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
(word_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,word VARCHAR(20) NOT NULL UNIQUE
);

INSERT INTO my_table VALUES
(1,'swanage'),
(2,'natured'),
(3,'untwisting'),
(4,'four'),
(5,'five'),
(6,'fifteen'),
(7,'blacksmith');


SELECT * 
  FROM 
     ( SELECT * FROM my_table WHERE CHAR_LENGTH(word) = 4 ORDER BY RAND() LIMIT 1 ) x
 UNION
     ( SELECT * FROM my_table WHERE CHAR_LENGTH(word) = 7 ORDER BY RAND() LIMIT 1 ) 
 UNION
     ( SELECT * FROM my_table WHERE CHAR_LENGTH(word) = 10 ORDER BY RAND() LIMIT 1) ;

+---------+------------+
| word_id | word       |
+---------+------------+
|       4 | four       |
|       1 | swanage    |
|       3 | untwisting |
+---------+------------+