1
什麼是可擴展的方式來從每個類別中選擇最新的10個項目。SQL最新/類別中的熱門項目
我有一個規劃列表如下:
item category updated
所以我想選擇從每個類別10級最後一次更新的項目。目前的解決方案,我能想出是先查詢類別,然後發出某種形式的聯合查詢的:
categories = sql.execute("select categories from categories_table")
query = ""
for cat in categories:
query += "union select top 10 from table where category=cat order by updated"
result = sql.execute(query)
我不知道如何有效的,這將是更大的數據庫(100萬行)。 如果有一種方法可以一氣呵成 - 那會很好。
任何幫助表示讚賞。
對不起,我離開了引號。我原來不是sql,而只是sql字符串生成。這是你說的嗎? – drozzy 2010-04-01 16:02:48
在SQL 2005中可以直接使用,您可以使用PARTITION元素並將您的類別重新分組爲分區並選擇前10個。 – 2010-04-01 19:05:04