Tôi có vẻ hơi khó khăn. Đó là một truy vấn khá thẳng thắn.Trợ giúp Mysql cần thiết để tối ưu hóa nhóm theo truy vấn phụ
Nếu tôi chạy các truy vấn riêng biệt, nó không phải là chậm nhưng khi tôi kết hợp chúng rất chậm.
Tôi không chắc chắn cách tối ưu hóa nó. Bất kì sự trợ giúp nào đều được đánh giá cao. Về cơ bản, tôi chỉ muốn hiển thị nhiều khoản tiền hoàn lại. Vì vậy, nơi faultid
tồn tại nhiều lần.
SELECT
r.*
FROM
faultrefunds_v2 r
WHERE
r.id IN (SELECT r1.id
FROM faultrefunds_v2 r1
GROUP BY faultid
HAVING count(r1.faultid) > 1);
Kết quả từ giải thích được đã được đính kèm một hình ảnh
Là r.id primar y key? –
có và lỗi là khóa ngoài –
Tôi nghĩ truy vấn bạn đã viết không trả lời được câu hỏi. Điều này là do một khi bạn đã nhóm theo lỗi, bạn sẽ chỉ trả lại một r.id cho lỗi đó. –