You might think that the following query seems to do that but renders a far by complete result.
with m_acc as (
select p.parentid as qid
, count(*) as cnt
from posts p
inner join votes v on v.postid = p.id
where votetypeid = 1 -- AcceptedByOriginator
group by p.parentid
having count(*) > 1
select id as [Post Link]
, m_acc.cnt as [# times accept switch]
from posts p
inner join m_acc on qid = p.id
order by score desc
Remarkable enough only 57 questions seem to match that for Stack Overflow. Uncertain if that was a correct number, I checked one which was correct so I assumed the other results are sound as well. But checking a couple of known positives from the Tavern and SOCVR it turns out that a lot of data is missing. The outcome here is probably due to invalid data.
Further investigation of two posts with this query only showed one accept record while the post timeline of both posts show TWO accept votes.
That leads me to conclude that the votes table is cleaned/sanitized to only contain the current accepted answer vote and not the history of those votes.
With that hope shattered on being able to answer your question I switched to looking at the
posthistory table. Unfortunately that table doesn't have a record for accept votes either which leads to this unsatisfying answer:
You can't query for those questions because the data needed isn't available in any table available in SEDE.