0

検索結果から 1 つのランダムな行を取得できるかどうかを知りたいです。つまり、次のようなクエリがあります。

SELECT mp.name,mp.icon,mp.id,mp.wspx,mp.wspy,ms.icon FROM maps_points as mp JOIN maps_section as ms ON(ms.id = mp.section)

このクエリから生成された結果からランダムな行を 1 つ取得したいと思います。それは1つのmysqlクエリで可能ですか、それともすべての結果を取得してPHPでランダムに取得する必要がありますか?

4

3 に答える 3

2

ORDER BY RAND() LIMIT 1簡単な方法は、クエリに追加することです。ただし、これが悪い考えである理由のいくつかを見てください。

于 2013-06-25T13:06:36.613 に答える
0
 SELECT mp.name,mp.icon,mp.id,mp.wspx,mp.wspy,ms.icon 
 FROM maps_points as mp 
 JOIN maps_section as ms ON(ms.id = mp.section) 
 ORDER BY RAND() LIMIT 1
于 2013-06-25T13:06:39.603 に答える
-1

わかりました、私はこれを知っていましたが、それを行うためのより良い、より速い方法はありますか? 私はいくつかの他のアプローチを見てきましたが、それらはすべてテーブルからのランダムな行に関するものであり、結果のセットからランダムな行を選択する必要があります:)

于 2013-06-25T13:31:24.937 に答える