0

compcobalt (for SQL Server 2012 ) 通过此线程询问它:选择随机行并在达到特定总和/总数时停止

细节:


我正在使用 SQL Server 2012,并且正在尝试执行以下操作:

SELECT SUM(MILES) from tblName WHERE 
mDate > = '03/01/2012' and 
mDate <= '03/31/2012' 
-- and...
/* 
   now I want to add here do until the SUM of Miles 
   is equal to or greater then '3250' and get the 
   results rows randomly
*/

所以换句话说,我想从一个表中选择具有指定从和到日期的随机行,并在里程总和等于或超过该数字时停止:3250


但我的问题是如何使用 SQL Server 2000做到这一点?谢谢

4

1 回答 1

0

这是一个棘手的问题,可以做到。我的想法是 1.give 行号给你的表。2.然后生成随机数。3.借助row_number和随机生成的数字选择行。4.继续做,直到总和与你一样。

但问题是 SQL Server 2000 没有 row_number 函数,请从http://forums.asp.net/t/1630106.aspx/1获得帮助

用于生成随机数请参见

"在 sql server 2008 R2 中生成 x 位随机数"

祝你好运

如果我有任何帮助,请更新我

问候

阿舒托什·艾莉亚

于 2013-08-28T10:07:18.180 回答