【发布时间】:2013-09-03 13:20:45
【问题描述】:
我有一张大致如下的表格:
id | category | link | caption | image
我的目标是从表中的每个不同类别中获取随机行,用于表中的所有类别。然后计划将每一行分配给其各自类别的变量。
现在我正在使用多个类似的 SELECT 语句:
SELECT link, caption, image FROM table WHERE category='whatever' ORDER BY RANDOM() LIMIT 1
但这似乎不优雅,并且会增加前往 DB 的次数,这很昂贵。
我很确定在 Postgres 中有一种使用窗口函数的方法,但我没有使用它们的经验,也不完全确定如何使用它来获得我想要的。
感谢您的帮助!
【问题讨论】:
标签: sql postgresql window-functions