【发布时间】:2012-06-26 15:55:51
【问题描述】:
我有一个架构问题需要使用 rails 应用程序来解决。我有图片库,人们可以每天投票(向上或向下)。这些图片按其分数和 created_at 时间戳排序,因此我们获得了包含 48 张图片的顶级图片库(即使当天上传的图片超过 48 张)。
除了当天的顶部,您还可以看到昨天和前两天的顶部图像……我想添加一个功能,允许某人在选择一张图像时查看画廊的上一张图像……换句话说,您可以选择 5/48 的图像,然后可以通过单击箭头转到 4/48 的图像(上一张)……
以同样的方式,昨天第一个顶部图像的前一个图像应该引导您到今天的最后一个顶部图像......
这可能很简单,但我找不到合适的查询来完成这项工作……请问有什么建议吗?
谢谢
【问题讨论】:
-
您能分享您的数据库架构吗?你有一个单独的顶部图像表吗?它有哪些列?您是否在图像表中保留了赞成/反对票的总和?我猜你想要
ORDER BY created_at DESC, score DESC -
不,我没有单独的顶部图像表(即使我认为使用单独的顶部图像表执行一些 OLAP 可能是个好主意)。架构非常基本:我在分数列中保留了赞成/反对票的总和,到目前为止,是的,我使用了 ORDER BY created_at DESC, score DESC
-
我弄错了,是
ORDER BY created_at ASC, score DESC,因为您希望上一个链接在到达得分最高的图像后及时回到前一天。
标签: sql ruby-on-rails