テーブルからランダムな行を選択する方法について、この素晴らしい回答を見てきましたが、私のテーブルではうまく機能します。そのクエリを変更すると、次のようになりました。
SELECT r1.clID, clUserName, clCompanyName, clBio
FROM customerlogin AS r1 JOIN
(
SELECT
(
RAND() *
(
SELECT MAX(clID)
FROM customerlogin))
AS clID)
AS r2
WHERE r1.clID >= r2.clID
ORDER BY r1.clID ASC LIMIT 1
ただし、さらに一歩進んで、可能な回答を特定の基準に一致するものに限定する必要があります。
これを行う最善の方法は、元のテーブルから有効な行のみを選択して一時テーブルを作成し、一時テーブルからランダムな行を選択することだと思いますが、これを行う方法がわかりません。create と select from random table のさまざまな組み合わせをグーグルで検索してみましたが、これまでのところ喜びはありません。自分が何を求めているのかを尋ねる正しい方法がわからないだけだと思います。
これをどのように達成できるかについて、ガイドまたはサンプルコードを教えてください。または、私が見落としているより良い解決策がある場合は、提案を受け付けます。