効率云々の前にunion allとかにしたら重複行の扱いで結果異なるし
>>417が正解かと