top
句とrand
関数を使う。たとえばテーブルmytableのランダムな1行を返す場合は次のようなselect文を書けばいい。
SELECT TOP 1 * FROM mytable
ORDER BY RAND()
rand
関数はSQL2003 Vendor extension。他のDBでは使えるものとダメなものがある。MySQLとSQLServerは
rand
関数だが、PostgreSQL はrandom
関数。Oracleはまた違うようである。(
dbms_random.random
関数?)SQL Anywhere以外は未検証です。
ある程度ランダムだが特定の行が出やすいように感じる。気のせい?
返信削除