SQL случайная особенность - PullRequest
0 голосов
/ 29 апреля 2020
String show = "SELECT * FROM car ORDER BY RANDOM() LIMIT 4";

Привет, я использую NetBeans для создания этой викторины. Я решил использовать sqlite. поэтому всякий раз, когда я нажимаю кнопку запуска, программа запускает и выбирает случайную строку вопросов из базы данных и отображает ее в текстовой области. проблема в том, что иногда он повторяет один и тот же вопрос, потому что он просто рандомизирован. Я хочу, чтобы мой вопрос был случайным, но каждый был уникальным и не повторялся дважды. и я хочу лимит в 5 вопросов, после которого программа должна завершить тест и отобразить сообщение. нужна помощь, я новичок в этом.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020

Может быть, вы могли бы попробовать что-то вроде добавления еще одного столбца, который будет иметь номер от 1 до 5 или сколько вопросов вы хотите, и к этому вы можете добавить свой вопрос к каждому целому числу.

Теперь все, что вы делаете, это сгенерируйте уникальный номер, подобный этому https://www.sqlservercentral.com/articles/finding-unique-non-repeating-random-numbers

и выберите вопрос, где число = (сгенерированное число).

Надеюсь, это поможет.

0 голосов
/ 29 апреля 2020

вы можете использовать ключевое слово DISTINCT, чтобы убедиться, что в вашем наборе результатов нет повторяющихся результатов.

Как это.

SELECT DISTINCT * FROM car ORDER BY RAND() LIMIT 4;
0 голосов
/ 29 апреля 2020

Вы можете использовать так:

....WHERE NOT (name = 'Paul' AND city = 'London')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...