查詢重復記錄及其關聯記錄
問題
如何在 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