gpt4 book ai didi

mysql - 选择多次出现且其中任何一个满足另一个条件的记录

转载 作者:行者123 更新时间:2023-11-29 02:43:32 25 4
gpt4 key购买 nike

我有两张 table

user('id','name')

product('id','user_id','status','created_at')

我想选择所有拥有多个 product.status="InActive" 的用户并且至少有一个产品超过 7 天,例如 product.created_at < DATE_SUB( NOW(), INTERVAL 7 DAY )

我在这里搜索了很多问题,但找不到解决方案。

最佳答案

你可以通过使用一些条件聚合来获得符合你标准的用户

select u.*
from `user` u
join product p on (u.id = p.user_id)
group by u.id
having count(distinct case when p.status='InActive' then p.id end ) > 1
and sum(p.created_at < DATE_SUB( NOW(), INTERVAL 7 DAY ))

Count 将为您提供拥有超过 1 个非事件产品的用户,而 sum 将通过结果为 bool 值来确保其他标准

关于mysql - 选择多次出现且其中任何一个满足另一个条件的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46483820/

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