我需要在Sql Server 2005中的選擇查詢的解決方案。有沒有辦法將選擇查詢的結果拆分爲兩個相等的半部分?
我想有一個查詢返回兩個ResultSets,其中每個都持有一半匹配特定條件的所有記錄。我嘗試將TOP 50 PERCENT與Order By結合使用,但如果表中的記錄數是奇數,則兩個結果集中都會顯示一條記錄。我不想在記錄集上有任何重複的記錄。例如:
我有一個簡單的表,TheID(PK)和TheValue字段(varchar(10))和5條記錄。現在跳過where子句。
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID asc
結果在所選擇的ID 1,2,3
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID desc
結果在所選擇的ID 3,4,5-
3是DUP。在現實生活中,當然查詢對於大量的where子句和子查詢來說相當複雜。
我想這是SQL Server的? – 2010-05-05 19:03:05
誰在使用這兩個查詢?如果兩個消費者都意識到彼此(可能是他們的結果),爲什麼不提取整個列表並將其分爲消費者一方,這樣就沒有重複? – 2010-05-05 19:03:48
是的。對不起,我忘了提及它。 – Mats 2010-05-05 19:03:56