如何使用 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)的記錄。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享