2017-07-14 47 views
-1

如何修改此查詢以在每次執行時獲得不同的產品?使用RAND()的Mysql?

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

我試試這一個,但它是不正確的:

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/combine-two-complex-sql-queries-into-one)爲你的答案 –

+0

@JJJ它非常慢,如果是另一種方式。 – MorganFreeFarm

回答

-1

你不能得到像這樣的不同產品。向產品表中添加一列,如IsShown。選擇查詢後更新此列爲true。

然後一個查詢應該是這樣的

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

看起來不錯,我會試試看。 – MorganFreeFarm

+1

你意識到,那個數據庫通常被多個用戶訪問? – fancyPants

+0

當顯示所有產品時會發生什麼? – JJJ