‘壹’ 如何把sql数据库表中某字段的每行自动减去上一行的差值存到表中另一字段中
首先你要明确字段的顺序,如果顺序不固定的话每次算出的值都是不固定的,如果顺序固定了你就可以直接相减了!
‘贰’ SQL如何查询行行相减,每行有一个固定列值,然后我想把行号为2的的那个值,减去行号为1的那个值,
这个是下面减上面的,差值显示在上面的那条记录后
SELECT recordTime,(SELECT top 1 用电量最大值- t.用电量最大值 FROM 表名 WHERE recordTime>t.recordTime) AS result FROM 表名 t
‘叁’ sql查询语句同一表中,不同行之间字段相减
先按A 然后B 升序排列 再加一个 递增int列
形成一个临时表 再从这个临时表
分组得出 A列 COUNT (2) 和最小主键值(递增int列) 形成一个临时查询表TMP
然后取出TABLE里的A列 去JION 当 TMP.COUNT =2的 A 主键列
如果主键不是最小主键 那么作为被减数 最小的作为减数
可以得出你要的A和D COUNT=1的 直接用 NOW去减
‘肆’ sql2000数据库中如何实现同一列的数据相减(即下一行数据减去上一行数据)
表结构? 测试数据?
按哪一列排序?
测试数据.
CREATE TABLE temp (
year INT,
salary INT
);
INSERT INTO temp VALUES(2000, 1000);
INSERT INTO temp VALUES(2001, 2000);
INSERT INTO temp VALUES(2002, 3000);
INSERT INTO temp VALUES(2003, 4000);
预期要求结果:
year salary
2000 1000
2001 1000
2002 1000
2003 10000
SELECT
year,
salary - ISNULL((SELECT TOP 1 salary FROM temp t2 WHERE t2.year < temp.year ORDER BY year DESC), 0) AS salary
FROM
temp;
go
year salary
----------- -----------
2000 1000
2001 1000
2002 1000
2003 1000
(4 行受影响)
‘伍’ SQL中如何删除一个表中所有列的第一行
找到你要删的这一列的唯一标识
比如是:id
如果你的第一行的id=1那么就通过下列语句可以达到删除效果
然后
delete
表名table1
where
id=1
然后数据库就会帮你把
叫做
table1中的id的列的所有值查找一遍
然后
删除id=1的行
方法N种