[英]Return random result from three SQL tables
我有一個SQL數據庫,里面有三個表叫...
Fruit Name
Fruit Color
Fruit Price
我試圖從這三個表中的每個表中返回一個隨機結果給我舉例......
Apple - Green - $10
目前我這樣做是通過運行以下PHP三次(每個都有一個不同的表)
$result = mysqli_query($con,"SELECT * FROM fruitname");
while($row = mysqli_fetch_array($result))
{
echo $row['fruitname'];
}
這很好,但我覺得我的方式是錯誤的。 有沒有辦法將此作為一個命令而不是三個?
如果你真的想要一個隨機行,你可以這樣做:
select *
from (select * from FruitName order by rand() limit 1) fn cross join
(select * from FruitColor order by rand() limit 1) fc cross join
(select * from FruitPrice order by rand() limit 1) fp
這將返回一行中的所有字段。
請注意, 隨機行與任意行非常不同。 隨機行實際上意味着每行具有相同的被選擇機會。 任意行只是不確定的。 沒有order by
的select
的第一行是任意的,但絕對不是隨機的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.