我有一个任务,需要创建一个表格,并在其中添加一个新列,显示当前行和下一行年龄的差值。年龄应按降序排列。这是否可以使用SQL完成? 我不确定应该使用哪个SQL语句,因为任务中没有具体说明。
我理解应该在括号内填写什么内容。
SELECT name, age, (...) AS difference
FROM Animals
ORDER BY age DESC;
我有一个名为“动物”的表
id | name | age 1 | 莫莉 | 4 2 | 杰克逊| 8 3 | 温卡 | 38 4 | 波利 | 7
结果表应该是这样的:
名字 | 年龄 | 差异 温卡 | 38 | 30 杰克逊| 8 | 1 波利 | 7 | 3 莫莉 | 4 |
LAG()
和LEAD()
,可读取先前和下一个记录。但是因为您提到了括号,我假设您正在使用SQL Server(MSSQL)作为关系数据库管理系统。 - Raymond Nijland