Трюк "MAX-CONCAT" может помочь:
SELECT n,
substring( max( concat(data,lpad(s,6,\'0\')) ), 11)/1 as s,
substring( max( concat(data,lpad(s,6,\'0\')) ), 1, 10) as date,
count(*) AS times
FROM sorev
GROUP by n
+ получаете количество участий (times) для каждого участника (n).
lpad(s,6,\'0\') преобразует "12" в "000012".
concat(data,lpad(s,6,\'0\')) создает строку "2004-01-01 000012".
"Разумеется, пример можно сделать чуть эффективнее, если разбиение катенизированной строки делать на стороне клиента."