sql - SQL:QUERY、IF 语句
问题描述
我有下表,有 3 列
日期实际 | 车辆ID | 停放 |
---|---|---|
2021-06-27 | 1234 | 0 |
2021-06-28 | 1234 | 0 |
2021-06-29 | 1234 | 0 |
2021-06-30 | 1234 | 1 |
2021-07-01 | 1234 | 1 |
2021-07-02 | 1234 | 1 |
2021-07-03 | 1234 | 1 |
2021-07-04 | 1234 | 1 |
2021-07-05 | 1234 | 0 |
2021-07-06 | 1234 | 0 |
2021-07-07 | 1234 | 0 |
2021-06-27 | 5555 | 0 |
2021-06-28 | 5555 | 1 |
基本上是一个包含日期、vehicle_ID 和第三列的表格,它告诉我们汽车是否在一个大院(停放)中。我需要为该表创建第四列,称为:流入。Inflow 需要给我以下输出:
如果汽车在日期 x 停放,但在日期 x - 1 未停放,则流入量 = 1 如果表中可用汽车的第一个日期已经以 1 开头,流入量应为 0。
希望你们能帮帮我。
亲切的问候,
拉扎诺娃
解决方案
你似乎在描述:
select t.*,
(case when Parked = 1 and
lag(Parked, 1, 0) over (partition by vehicle_ID order by date_actual) = 0
then 'true' else 'false'
end) as inflow
from t;
推荐阅读
- tornado - Pyshark 无法运行事件循环
- python - 从字典中的值中获取键
- c# - 添加或更新图表时出现 Powerpoint VSTO 错误
- encryption - Lua 加密算法
- gradle - 尝试使用 Sonatype nexus (gradle-nexus.publish-plugin) 发布到 Maven Central 时签名失败
- python - 在python中仅获取数字值作为输入 - 为字符串值提供响应
- delphi - 我在哪里可以找到 TIdServerIOHandlerSSLOpenSSL api 文档?
- javascript - 此路由不支持 POST 方法。支持的方法:GET、HEAD。拉拉维尔 8
- sql - 在 Oracle 数据库上的 R 查询,其中日期是从今天开始的 x 天
- mysql - 在左连接中获取中间表列的总和