2017-07-14 6 views
-1

このクエリを変更して、実行ごとに異なる製品を取得するにはどうすればよいですか?MysqlとRAND()?

SELECT * 
FROM product 
INNER JOIN product_description ON product.product_id = product_description.product_id 

私はこの1つを試してみたが、それは正しくありません:

SELECT * 
FROM product 
INNER JOIN product_description ON product.product_id = product_description.product_id 
ORDER BY RAND() 

しかし、それは別の方法をLF、非常に遅いです。

+0

「正しくない」ようにすべきですか?エラーが発生したのか、クエリの結果は何ですか? – JJJ

+0

私はそれが重複する質問かもしれないと思うが、ここで確認してください[https://stackoverflow.com/questions/23861959/combine-two-complex-sql-queries-into-one](https://stackoverflow.com/questions/) 23861959/combined-two-complex-sql-queries-one)あなたの答えは –

+0

です@JJJそれは別の方法では非常に遅いです。 – MorganFreeFarm

答えて

-1

このような異なる商品を手に入れることはできません。 IsShownのような製品テーブルに列を追加します。 select query updateの後、この列はtrueになります。

その後、次のクエリは、どのような方法でこの

SELECT 
    * 
FROM product 
WHERE IsShown = false 
LIMIT 1; 
+0

良い見え、私はそれを試してみましょう。 – MorganFreeFarm

+1

あなたは、データベースには通常複数のユーザーがアクセスすることを認識していますか? – fancyPants

+0

すべての商品が表示されるとどうなりますか? – JJJ