有人可以幫助我解決這個問題。 我有這個表樣本:MYSQL從兩行中隨機選擇
文件表
- UID
- 文件
- uploaded_on_date
- VIEW_COUNT
我要考慮的是前30名最最近上傳的文件和前30名最多瀏覽文件然後從他們隨機選擇和限制10。
我是新來的這個mysql複雜查詢。示例查詢會很好,我將能夠理解它。 謝謝。
有人可以幫助我解決這個問題。 我有這個表樣本:MYSQL從兩行中隨機選擇
文件表
我要考慮的是前30名最最近上傳的文件和前30名最多瀏覽文件然後從他們隨機選擇和限制10。
我是新來的這個mysql複雜查詢。示例查詢會很好,我將能夠理解它。 謝謝。
SELECT
*
FROM
(
SELECT
*
FROM
tablefile
ORDER BY
uploaded_on_date DESC
LIMIT 30
UNION SELECT
*
FROM
tablefile
ORDER BY
view_count DESC
LIMIT 30
)
ORDER BY
RAND()
LIMIT 10;
感謝您的答覆vulkanino和xdazz,真的很接近時間回答非常真棒。 – xiomai 2012-02-08 14:38:11
'ORDER BY RAND()'型解決方案將是非常緩慢的,當行數開始增長,只是谷歌'ORDER BY蘭特slow'。當然,從2 * 30行選擇時不會注意到這一點。 – biziclop 2012-02-08 10:31:24