Counting duplicates?

I have several rows that may have non distinct column entries.
for example
c1|c2|c3
aa|bb|cc
aa|bb|dd
aa|xx|yy

I want a report that says aa occurs three times, bb twice, cc, dd, yy once therefore not important.
Even if I can do this one column at a time…

Select distinct count c1, c2, c3 … but not sure…

SELECT data,sum(cnt) as cnt
FROM (
SELECT field1 as data ,count(*) as cnt FROM MY Table GROUP BY field1
UNION
SELECT field2 as data ,count(*) as cnt FROM MY Table GROUP by field2
UNION
SELECT field3 as data ,count(*) as cnt FROM MY Table GROUP by field3
} GROUP BY data
ORDER BY data

and if you want to know ONLY the duplicates
insert

HAVING cnt>1

before the ORDER statment

I’m sorry not wrapping my head…
If I want just column 1

mysql>
SELECT data,sum(cnt) as cnt FROM (SELECT id as data ,count(*) as cnt FROM machines GROUP BY id) group by data order by data;
ERROR 1248 (42000): Every derived table must have its own alias

select data, count(*) as cnt from machines group by data having count(*) > 1

The OP indicated BB and Y which were in Col2 and Col3

And as Dave said, the “having count…” part is if you don’t want to see things that appear once

And in his 2nd post he said “If I want just column 1”

He did… after I had already posted my solution, upon which you printed the solution for a single column