私もdistinctを使用してみましたが、重複が返されます。
$cubes = mysql_query("SELECT distinct * FROM posts ORDER BY RAND() $limit ") or die(mysql_error());
投稿テーブルを取得したいだけです...そして、重複することなくランダムな順序で返します。
必要な個別のIDのみを選択します。例:
SELECT distinct id FROM posts ORDER BY RAND() $limit
Distinct
選択した「すべての」行に対して機能するため、たとえば、一意のタイムスタンプフィールドがある場合は、すべての行が返される可能性があります。
SELECT DISTINCT * FROM ...
だけでなく、を実行してもSELECT DISTINCT column_name FROM ...
よろしいですか?
詳細については、SQLDISTINCTSTATEMENTのドキュメントを参照してください。