回答

收藏

有没有一种方法可以将选择查询的结果分为两个相等的一半?

技术问答 技术问答 119 人阅读 | 0 人回复 | 2023-09-13

我需要在Sql Server 2005中进行选择查询的解决方案。" H; u: D% y7 e6 J, D0 Z7 k  l8 ]
我想查询返回两个结果集,每个结果集恰好包含符合特定条件的所有记录的一半。我尝试将TOP 50 PERCENT与Order1 t9 {& V" s. X7 V5 N) l
By一起使用,但是如果表中的记录数为奇数,则两个结果集中都会显示一条记录。我不想在记录集上重复任何记录。例子:1 u1 n8 }) A+ U8 x8 x; t
我有一个简单的表,其中包含TheID(PK)和TheValue字段(varchar(10))和5条记录。现在跳过where子句。; j# w: J3 F2 e3 A
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID asc, n2 V5 Q7 U7 }/ b* w2 H
导致所选ID的1,2,3" c9 ]( C& ~: G$ i8 T! X  \! W4 n
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID desc
7 u9 w8 b) ?4 k  p# s产生所选ID的3,4,5* \, P4 ?% O( C; l) o' r4 G
3是dup。当然,在现实生活中,查询非常复杂,其中包含大量的where子句和子查询。) D9 r! v$ _/ X5 a
               
% H8 w! S% i% a解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则