我有一张大致如下的表格:
id | category | link | caption | image
我的目标是从表中的每个不同类别中获取随机行,用于表中的所有类别。然后计划将每一行分配给其各自类别的变量。
现在我正在使用多个类似的 SELECT 语句:
SELECT link, caption, image FROM table WHERE category='whatever' ORDER BY RANDOM() LIMIT 1
但这似乎不优雅,并且会产生更多的 DB 行程,这很昂贵。
我很确定在 Postgres 中有一种方法可以使用窗口函数来做到这一点,但我没有使用它们的经验,而且我不完全确定如何使用它来获得我想要的东西。
谢谢你的帮助!