2011-12-27 13 views
0

私は重複しないで50のランダムなレコードをフェッチしたいと思います。テーブルからランダムなユニークなレコードを取得します

Table Name : table 1 
Fields : test_id,test_name,test_phone. 

重複なしでデータベースから50個のランダムなレコードをフェッチできるクエリを誰にでも提案できますか?

+0

あなたはそれのためにいくつかのストアドプロシージャを試してみませんか? – Kris

答えて

2

試してみてください。

SELECT DISTINCT * FROM table_1 ORDER BY RAND() LIMIT 50; 

彼らはユニークだことを確認してください、test_idは自動インクリメントINTであることを確認してください。あなたは何の疑いがある場合は

+0

私はなぜtest_idが自動増分でなければならないのか知っているかもしれませんか?クエリのtest_idを渡すことはありません。 –

+0

自動インクリメントは、その行が毎回一意であることを保証するためです。私は尋ねるべきではないかと思います。「複製」とはどういう意味ですか? –

+0

私のtest_idがプライマリキーではなく、自動インクリメントに設定されていないと正しく実行されますか?私は私の現在の問題について適切な答えを得ましたが、私の知識のために、私は尋ねています。 –

-2

この

SELECT DISTINCT * FROM table ORDER BY RAND() LIMIT 50 

連絡先をお試しください。

+0

これは50レコードを返しますが、ランダムではありません。 –

+0

これはランダムなレコードを返すためには、rand()によって順序付けされるべきです。 – Zlatan

1

は、それが動作

SELECT distinct * FROM `table_1` order by rand() limit 50 

次のクエリを使用します。

関連する問題