gpt4 book ai didi

sql - PL/SQL - Oracle 9.1

转载 作者:行者123 更新时间:2023-12-02 08:54:24 27 4
gpt4 key购买 nike

这是我们正在处理的场景。我们有一个客户表和一个销售表。这些表通过 cust 表中的事务 ID 进行连接。

顾客可以从商店购买任何水果。

我们需要做的是找出例如:有多少顾客在购买樱桃之前购买了苹果。

Table structure:

Cust - Cust ID, Transaction ID, ...
Sales - Transaction ID, Fruit ID, Insert date for record, ...

考虑到客户可能多次购买该水果,因此同一水果 ID 可以有不同的交易 ID,那么实现这一目标的最具成本效益的方法是什么。

所以我们需要找到 cust 购买的第一个苹果和第一个樱桃是什么时候,然后检查它们上的日期。

最佳答案

transaction_id 如何成为客户的列/属性?这意味着客户只能进行一笔交易。

假设您有一个包含 customer_id、fruit_id 和 sale_date 的表,您可以尝试

select cust_id,
min(case when fruit_id = 'Apple' then sale_date end) first_apple_purchase,
min(case when fruit_id = 'Cherry' then sale_date end) first_cherry_purchase
from transactions
group by cust_id
having min(case when fruit_id = 'Apple' then sale_date end) <
min(case when fruit_id = 'Cherry' then sale_date end)

关于sql - PL/SQL - Oracle 9.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131955/

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