sql实现上一行减去下一行
时间: 2023-09-11 17:03:08
浏览: 516
您可以使用 SQL 的窗口函数来实现上一行减去下一行的操作。具体的实现方式取决于您使用的[数据库管理系统](https://wenku.csdn.net/doc/3b9dk3mbv8?spm=1055.2569.3001.10083&kwd=数据库管理系统),以下是一个通用的示例:
```sql
[select](https://wenku.csdn.net/doc/648c298bc37fb1329af644f5?spm=1055.2569.3001.10083&kwd=select)
[column](https://wenku.csdn.net/doc/6494fe924ce2147568ade173?spm=1055.2569.3001.10083&kwd=column)1,
column2,
column1 - LAG(column1) OVER ([order](https://wenku.csdn.net/doc/6401abb7cce7214c316e93d1?spm=1055.2569.3001.10083&kwd=order) BY column2) AS difference
your_[table](https://wenku.csdn.net/doc/5th6zsbvjq?spm=1055.2569.3001.10083&kwd=table)
在上面的示例中,`column1` 是要进行计算的列,`column2` 是用于排序的列,`your_table` 是您的数据表名。`LAG(column1) OVER (ORDER BY column2)` 用于获取上一行的值,然后可以将其与当前行的值相减得到差异。
请根据您的实际需求和数据库管理系统进行相应的调整。
相关问题
sql代码MIMIC-IV中同一个ID上一行的入院日期减去下一行的出院日期
### 回答1:
在 MIMIC-IV 中,如果要求同一个ID的上一行的入院日期减去下一行的出院日期,可以使用如下 SQL 代码:
WITH base_data AS (
SELECT
admit_dt,
discharge_dt,
LAG(discharge_dt) OVER (PARTITION BY id ORDER BY admit_dt) AS prev_discharge_dt
FROM admissions
SELECT
admit_dt - prev_discharge_dt AS time_between_stays
FROM base_data
WHERE prev_discharge_dt IS NOT NULL;
```
sql代码MIMIC-IV中同一个ID小于48小时上一行的入院日期减去下一行的出院日期
最低
0.47元/天
开通会员,查看完整答案
成为会员后, 你将解锁