gpt4 book ai didi

mysql - 仅通过创建的 Mysql 查询过滤重复记录

转载 作者:行者123 更新时间:2023-11-29 09:50:44 25 4
gpt4 key购买 nike

我尝试使用带有 where 子句的 select 查询来获取记录,但出现了 id 重复记录,然后我想通过 createdAt 字段对其进行过滤。

当我运行以下查询并得到如下结果时:

select * from security_development.user_requests
where
fully_approved = 1 and user_request_role=4

请查找结果

createdAt           User_request_name fully_approved user_request_role
2019-02-22 18:57:08 dealerAdmin 1 4
2019-02-24 08:57:08 ask1 1 4
2019-02-25 12:20:22 dealerAdmin 1 4

如果我尝试通过使用 max(creaTed_at) 作为子查询来避免重复的 User_request_name

select * from security_development.user_requests
where fully_approved =1 and user_request_role=4
created_at =
(select max(creaTed_at) from security_development.user_requests group by user_request_name having count(user_request_name) > 1 )

然后我得到以下结果

createdAt           User_request_name fully_approved user_request_role
2019-02-25 12:20:22 dealerAdmin 1 4

但我期待以下结果

createdAt           User_request_name fully_approved user_request_role
2019-02-24 08:57:08 ask1 1 4
2019-02-25 12:20:22 dealerAdmin 1 4

最佳答案

您可以使用相关子查询

select t1.* from security_development.user_requests t1
where
fully_approved = 1 and user_request_role=4
and createdAt=( select max(createdAt)
from security_development.user_requests t2
where t1.User_request_name=t2.User_request_name)

关于mysql - 仅通过创建的 Mysql 查询过滤重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861361/

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