DS (6) has a friend who is very up and down with him. Will play with him when he wants, and ignore him when he wants (you're not my friend anymore). This friend is aggressive (he almost hit my child when he accidentally stood on the back of his shoe) and overly competitive (my house is bigger than yours, I can eat faster than you). I find it exhausting. My son gets upset by this but then still wants to play with him.
My son is confident and a nice, kind fairly popular boy, he gets along with many kids. He can sometimes be too loud and can invade personal space when he is trying to get someone's attention - although this is infrequent and usually in response to being ignored as opposed to causing it, but still not on and we are working on it.
My question is, I would like Ds to focus less on this friendship as I feel it isn't great for him (and we are supporting the development of others with play dates for eg) but he is still very invested in it. I have been talking about what makes a good friend. Is there anything else I can/should do?