select ref, count(distinct id) from table group by ref;
Điều này sẽ cung cấp cho bạn số lượng id riêng biệt theo lần tham chiếu.
select ref, count(*) from table group by ref;
Điều này sẽ cung cấp cho bạn số lượng bản ghi theo số lần tham khảo.
CHỈNH SỬA:
Hãy thử điều này để có được kết quả mà bạn mong muốn.
select t.*, m.counter
from table t
join (
select ref, count(distinct id) as counter
from table group by ref
) m on t.ref = m.ref
Ví dụ trên SQLFiddle: http://sqlfiddle.com/#!9/2b93c/2