2014-10-07 57 views
0

我想訂購帖子。我想先隨機地訂購帖子,然後這些隨機帖子應該由沒有upvotes的訂單來訂購。多訂單語句欄

我已經試過:

@posts= @posts.order("RANDOM(), upvotes DESC").limit(10) 

但這不起作用。請幫忙。 謝謝!

+0

我想概念,你想要什麼其實是訂購最多選票,然後隨機......否則upvotes幾乎從來不管。另外,你爲什麼需要隨機訂購?如果在帖子中有足夠數量的點贊,那麼隨機部分應該一次只限於幾個帖子,而且很少有關係? – user3334690 2014-10-07 20:45:37

+0

是的,這就是我想要的。請讓我知道你是否有答案。 – user3477051 2014-10-07 20:48:20

回答

0

嗯,我會做的方式是這樣的:

Post.select("#{Post.table_name}.*, random() AS rsort").order("rsort, upvotes DESC").limit(10) 

這基本上只是說,在職位表中選擇所有列,以及一個名爲度假村列(這是之間的隨機數0和1)。然後通過rsort列和upvotes列進行排序。此外,您應該可以在之後訪問模型實例上的rsort屬性。

P.S.可能應該拿出比rsort更好的列名。