gpt4 book ai didi

sql - 在 SQLITE 中使用窗口函数

转载 作者:行者123 更新时间:2023-12-02 16:10:47 24 4
gpt4 key购买 nike

我有这组数据

purchasingid          date   supplierid
1 2014-01-01 12
2 2014-01-01 13
3 2013-12-06 12
4 2013-12-05 11
5 2014-01-01 17
6 2013-12-05 12

我想检查所有在 2014 年 1 月 1 日购买的供应商的上一次订单的日期。如果不存在,请将其留空。

意思是我想要得到:

supplierid   date   last_time_buy_date
12 2014-01-01 2013-12-06
13 2014-01-01
17 2014-01-01

supplierid 11 没有在 2014 年 1 月 1 日购买,因此他根本没有出现。

这就是我所做的:

select supplierid,date, max(date)
from purchasing
where supplierid in (select supplierid
from purchasing
where date='2014-01-01')

这不起作用。我知道我应该以某种方式使用窗口函数,但我不知道如何...有什么想法吗?

最佳答案

SQLite 不支持窗口函数。相反,您可以这样做:

select p.*,
(select max(p2.date)
from purchasing p2
where p2.supplierid = p.supplierid and
p2.date < p.date
) as prev_date
from purchasing p
where p.date = '2014-01-01';

关于sql - 在 SQLITE 中使用窗口函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49588120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com