(someone) has been having (something)

The expression "have a headache" already uses the word "have". So when you're explaining that this has been happening for some length of time and hasn't finished yet, you explain it with "have been having". Here are some other examples:

We've just been having fun.

Have you been having problems with your Internet connection lately?

This phrase appears in these lessons: