Как выбрать случайную запись из таблицы - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь выбрать случайную запись из базы данных, где поле rarity равно Epic.

Я пытался использовать ORDER BY RAND() LIMIT 1, но у меня появляется синтаксическая ошибка.

Я также пытался использовать приведенный ниже код:

qryCards.SQL.Add('SELECT * FROM tblCards WHERE Card_Rarity = "Epic"');
qryCards.Open;
Randomize;
iRandom := Random(qryCards.RecordCount);

for i := 1 to iRandom do
begin
    qryCards.Next;
end;

sCard := qryCards.FieldByName('Card_Name').AsString;
AddCards(sCard, iQtyEpic);

Я ожидаю, что вывод будет случайной записью, где Card_Rarity равен Epic.

Однако я попытался отладитьс ShowMessages, и даже когда iRandom = 2 или 3, он дает одну и ту же карту, поэтому я никогда не смогу получить вторую карту.

...