下令在我的PHP應用程序,我的文章一個MySQL表,有以下欄目:混合不同類別的結果,按分數在MySQL
article_id articletext category_id score
每篇文章都有它是基於怎樣流行的計算分數它是,屬於一個特定的類別(有大約10個類別可用)
我的問題是:如何執行一個查詢,返回最高得分的文章,而按類別交替,以便如果可能,類別文章連續返回。 例如,如果最高得分製品具有的分數:100返回集將是這樣的:
article_id articletext category_id score
-----------------------------------------------------
142 <.....> 5 100
153 <.....> 3 97
119 <.....> 5 99
169 <.....> 2 93
121 <.....> 7 89
197 <.....> 2 92
.
.
.
第一(幼稚)溶液附帶記正在執行10種選擇(1爲每個類別),訂購他們通過分數降序,然後在PHP級別,在每個返回的數據集之間交替,一次選取一個結果,並將它們組合在一個新數組中。
有沒有更有效的方法來實現這一目標?如果可能的話,在MySQL級別
有趣的問題 - 有點非正統的要求,但有趣。純粹基於SQL的解決方案可能會非常棘手。 – 2011-06-05 18:06:57