2011-05-31 56 views
1

我的表有很多行有相同的列。我會打電話給「喜歡」的列。如果我使用「按喜歡排序」,那麼具有相同「喜歡」的行將在它們被添加到數據庫中時排序。 我希望所有具有相同「喜歡」的行隨機排序。我嘗試過「ORDER BY likes,rand()」,但是一切都是隨機排序的。 我該怎麼做?SQL:按列和rand()排序?

+0

它將有助於顯示錶定義和查詢 – Bohemian 2011-05-31 03:47:51

+0

可能的重複[如何請求SQL中的隨機行?](http ://sackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql) – theMayer 2015-01-12 05:12:50

回答

5

我建議你再檢查一次。將order by something, rand()條款添加到我的其中一個查詢中,與您預期的完全一樣,唯一的隨機發生在something組內。

請注意,在order by子句中使用rand()時,如果表格變大,將無法很好地擴展。

0

我不是很肯定,因爲我不知道你的表的結構,我不知道該查詢......但嘗試添加GROUP BY likes到您的查詢

+3

雖然他希望根據* likes分組結果,但是GROUP BY在這裏不正確;將所有相似的物品放入單個行中以顯示th聚合函數的結果。 – 2011-05-31 04:13:53

0

這可能是因爲你是向後做(例如「 ORDER BY RAND(),某些東西「而不是」ORDER BY something,RAND())