如何查询 MySQL 中特定字段值且另一个字段出现次数大于指定次数的记录?

如何查询 mysql 中特定字段值且另一个字段出现次数大于指定次数的记录?

查询指定字段值和出现次数大于指定次数的记录

mysql 中,要查询一个字段的值为特定值,并且另一个字段的值出现次数大于指定次数的记录,可以使用以下方法:

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

在这个查询中:

  • select * from 表:这部分是从名为 表 的表中选择所有列。
  • where refund_id in (...): 这部分用于筛选记录,以确保它们包含指定的 refund_id 值。
  • (select refund_id from 表 where return_code = 'success' group by refund_id having count(*) >= 2): 这部分是一个子查询。它首先选择所有 refund_id 值,其中 return_code 列的值为 success。然后,它将这些 refund_id 值分组,并删除分组中不包含至少 2 条记录的组。最后,它只选择具有至少 2 条记录的组的 refund_id 值。
  • having count(*) >= 2: 这部分是 having 子句的一部分。它指定了子查询中所选组的计数必须大于或等于 2。这可确保仅选择具有指定次数的 return_code=success 记录的组。

使用此查询,您可以检索符合您指定条件的记录。例如,在您提供的示例中,此查询将返回 refund_id 为 520403,并且 return_code 为 success 的两条记录。

以上就是如何查询 MySQL 中特定字段值且另一个字段出现次数大于指定次数的记录?的详细内容,更多请关注其它相关文章!