我的表books
包含图像,语言和信仰。
SELECT DISTINCT faith, language from books;
获取信仰系列( 15结果),但我想要随机获取image
。因此,结果可以显示随机图像的信念。我建议如何做到这一点。
答案 0 :(得分:1)
查询
select distinct faith, language from books;
从表中选择不同的Faith-Language组合。所以你的表包含两个相同信仰和语言的条目
Faith Language Image 1 EN img1 1 EN img2 1 FR img3 1 FR img4
您的结果只包含一次组合:
Faith Language 1 EN 1 FR
您的问题尚未明确,您对随机图片的意思是什么。以下是如何获得任意选择的Faith-Language组合的匹配图像之一:
select faith, language, image
from books
group by faith, language;
结果可能如下所示:
Faith Language Image 1 EN img2 1 FR img3
原因是我们聚合了行。在GROUP BY子句中,我们说每个Faith和Language都需要一个结果行,但我们也选择了Image并且没有指定我们希望每个组看到哪一个(我们可以使用聚合函数)比如MIN或MAX),所以我们只得到一个与DBMS任意选择的Faith-Language组合相匹配的图像。
这已经是你想要的吗?
答案 1 :(得分:0)
感谢大家,我从
获得了解决方案SELECT r.faith,
(SELECT r1.image FROM books AS r1 WHERE r.faith=r1.faith ORDER BY rand() LIMIT 1) AS image FROM books AS r GROUP BY r.faith;
每次执行查询时,它会针对每个信仰使用随机 field2 图像获取不同的 field1 faith
。