sql取任意条记录,使某字段求和等于特定值?

leitnt 2009-07-14 05:43:29
比如:
id price
----------
001 12
002 15
003 255
........


-----------

如题,比如任取10条记录,使10个price求和=1025
该怎么写?
...全文
367 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leitnt 2009-07-14
  • 打赏
  • 举报
回复
是随机取数据,这是sql2005代码吧?有sql2000的吗?
wuguanlin 2009-07-14
  • 打赏
  • 举报
回复
传说中的背包算法。
CSDN上
http://topic.csdn.net/u/20090421/12/5113C4AB-4631-4DC9-BE9F-E6D88F0526D8.html
csdyyr 2009-07-14
  • 打赏
  • 举报
回复
--求两条记录的和为27
DECLARE @TB TABLE([id] VARCHAR(3), [price] INT)
INSERT @TB
SELECT '001', 12 UNION ALL
SELECT '002', 15 UNION ALL
SELECT '003', 255

;WITH C AS
(
SELECT *,TOTAL=price,CAST(id AS VARCHAR(MAX)) AS PATH,CNT=1 FROM @TB
UNION ALL
SELECT A.*,TOTAL+A.price,PATH+','+A.id,CNT+1 FROM @TB AS A,C WHERE A.id=C.id+1
)
SELECT B.*
FROM C,@TB AS B
WHERE TOTAL=27 AND CHARINDEX(','+B.id+',', ','+PATH+',')>0 AND CNT=2
  • 打赏
  • 举报
回复
随即的?还是按顺序的
ks_reny 2009-07-14
  • 打赏
  • 举报
回复
每次都取10个记录吗?要是每次都取10个记录的话,那就这个表10次和自己关联一下。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧