Я разрабатываю небольшую игру в виде jumbled-слов для пользователей в концентраторе DC PtokaX, которым я управляю. Для этого я сохраняю список слов внутри таблицы MySQL. Таблица представлена следующим образом:GROUP_CONCAT, но с ограничениями для получения более чем одной строки
CREATE TABLE `jumblewords` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`word` CHAR(15) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `word` (`word`)
)
COMMENT='List of words to be used for jumble game.'
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
Теперь в игровом движке; Я хочу получить 20 слов в виде строки случайным образом. Это можно достичь с помощью запроса, подобного следующему:
SELECT GROUP_CONCAT(f.word SEPARATOR ', ')
FROM (SELECT j.word AS word
FROM jumblewords j
ORDER BY RAND()
LIMIT 20) f
, но я должен выполнить это заявление каждый раз, когда список истекает (все 20 слов были поставленным перед пользователем).
Могу ли я изменить этот запрос, чтобы получить более одной строки с результатами, полученными из запроса, который у меня выше?
Хороший вопрос! Я предполагаю, что слова должны быть уникальными в строке, но могут повторяться через строки, правильно? – GregD
вы можете изменить предел до 20, 40, как только слова будут закончены, чтобы следующий набор слов был выбран из пула и так далее ... –
@GregD, Да .... – hjpotter92