62,073
社区成员
发帖
与我相关
我的任务
分享
SELECT * FROM
(
SELECT top 1 id,NUM
FROM tb
ORDER BY tb.id
) t
UNION ALL
SELECT
b.id
,a.num + b.num AS sumvalue
FROM
(
SELECT t.*
,ROW_NUMBER() OVER(ORDER BY t.id) AS rownumber
FROM tb t
) a
,
(
SELECT t.*
,(ROW_NUMBER() OVER(ORDER BY t.id) - 1) AS rownumber
FROM tb t
) b
WHERE a.rownumber = b.rownumber
SELECT flag,SUM(num) AS sumvalue
FROM
(
SELECT t.NUM
,CASE (t.rownumber%2) WHEN 0 THEN 2 ELSE 1 END AS flag
FROM
(
SELECT t.*
,ROW_NUMBER() OVER(ORDER BY t.id) AS rownumber
FROM tb t
) t
) t
GROUP BY flag
select sum(id) from (select id, (row_number() over(order by id)+1)/2 as rowNum from a) as tab1 group by rowNum
表结构:
ID,num
1 1
2 2
6 6
7 7
8 8
11 11
12 12
sql :
select a.num + b.num from text1 as a,text1 as b where a.ID = b.ID+1
结果:
3
13
15
23