【发布时间】:2020-12-11 06:49:52
【问题描述】:
我有两张表:食物和配料表(请参阅下面的图片 1)。
我希望将每种食物的成分随机化(可以是所有食物的重复成分)。如何使用查询来检索价格呢?谢谢
我尝试过使用下面的 SQL,但不是我想要的结果(请参阅 Image 2),因为如果使用 sample SQL 1,所有行的成分保证相同。如果使用sample SQL 2,价格也是随机的,与各自的成分不匹配。
/* sample SQL 1 */
select a.description, b.description, b.price
from Foods a
join (select a1.* from Ingredients a1 order by rand() limit 1) b
;
/* sample SQL 2 */
select a.description, (select a1.description from Ingredients a1 order by rand() limit 1) as description, (select a1.price from Ingredients a1 order by rand() limit 1) as price
from Foods a
【问题讨论】:
-
如何区分description和description?
-
对不起,我知道你的意思,第一个是食物描述,第二个是成分描述。我希望将食物表中每一行的成分随机化,而不仅仅是所有食物都使用相同的随机成分。谢谢
标签: mysql join random greatest-n-per-group window-functions