如何使用 MySQL 查询重复的 refund_id 记录及其关联的 return_code 为 \'SUCCESS\' 的记录?

如何使用 mysql 查询重复的 refund_id 记录及其关联的 return_code 为 'success' 的记录?

查询重复记录及其关联记录

问题

如何在 mysql 中查询包含以下条件的记录:

  • 字段 refund_id 有相同的特定值
  • 另一个字段 return_code 的值为 'success'
  • 满足上述条件的记录数量大于或等于 2

回答

可以使用以下查询来查找满足这些条件的记录:

select * from 表 where refund_id in (
    select refund_id from 表
    where return_code = 'SUCCESS'
    group by refund_id
    having count(*) >= 2
);

解释

这个查询使用子查询来标识 refund_id 相同并且 return_code 等于 'success' 的记录数量大于或等于 2。该子查询使用 group by 和 having 子句来对 refund_id 进行分组并根据记录数量过滤结果。

然后,主查询使用 in 子句从 refund_id 匹配子查询结果的主表中选择记录。这将返回所有包含 refund_id(即重复记录的 refund_id)的记录。

以上就是如何使用 MySQL 查询重复的 refund_id 记录及其关联的 return_code 为 'SUCCESS' 的记录?的详细内容,更多请关注其它相关文章!