gpt4 book ai didi

mysql - SQL-以不同方式过滤每个查询结果

转载 作者:行者123 更新时间:2023-11-29 03:22:27 25 4
gpt4 key购买 nike

我有一个让我抓狂的问题。看起来答案应该是可能的(甚至是显而易见的),但我一直被难住了。

这是上下文。我试图找出我的哪些用户在其产品许可证到期后的最后 90 天内登录(现在他们不再是客户)。问题是,过滤器与许可证何时到期有关,这对于每个客户都是不同的。我最初尝试编写这样的查询:

SELECT customer_id, email
FROM customers
WHERE last_login > ((SELECT license_end FROM customers)-7776000)

这是 last_login 和 license_end 的 unix 时间戳,所以 7776000 是 90 天的秒转换。正如我确定您已经确定的那样,此子查询将返回多行并失败。哎呀。

那么在这种情况下,有没有办法返回所有在其许可证结束后的最后 30 天内具有 last_login 时间戳的 ID 和电子邮件,因为每个客户的每个许可证结束日期都不同?

我知道我可以在电子表格中完成,但这个谜题让我抓狂。提前感谢您的专业知识!!

最佳答案

您不需要子查询。您只是比较表中同一行的列。

SELECT customer_id, email
FROM customers
WHERE last_login > license_end - 7776000

关于mysql - SQL-以不同方式过滤每个查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41915780/

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