2012-05-11 5 views
1

私もdistinctを使用しようとしましたが、重複を返します。ORDER BY RAND()は重複を返します

私の投稿テーブルを取って、無作為な順序で重複なしに戻したいと思っています。

+2

古き良きmysql_ *関数を使って新しいコードを書いてください。彼らはもはや維持されておらず、コミュニティは[非推奨プロセス](http://news.php.net/php.internals/53799)を始めました。代わりに、準備されたステートメントについて学び、[PDO](http://php.net/pdo)または[MySQLi](http://php.net/mysqli)を使用する必要があります。あなたが学びたい人は[ここではPDO関連の非常に良いチュートリアルです](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –

答えて

4

必要な個別のIDのみを選択します(例:あなたが選ぶ「すべて」の行を超える

SELECT distinct id FROM posts ORDER BY RAND() $limit 

Distinct作品、あなたは(たとえば)のユニークなタイムスタンプフィールドを持っているので、もし、チャンスはあなたがすべての単一の行を返しますです。

0

SELECT DISTINCT column_name FROM ...だけでなく、SELECT DISTINCT * FROM ...を実行してもよろしいですか?

詳細については、SQL DISTINCT STATEMENT docを参照してください。

関連する問題