Puisque vous n'avez pas mentionné le SGBDR que vous utilisez, voici une requête qui fonctionnera sur presque tous SGBDR :
SELECT aa.User, COUNT(bb.User ) TotalCount
FROM (SELECT DISTINCT User FROM TableName) aa
LEFT JOIN
(
SELECT a.User
FROM TableName a
INNER JOIN
(
SELECT Date, MAX(Value) max_val
FROM TableName
GROUP BY Date
) b ON a.Date = b.Date AND
a.Value = b.max_val
) bb ON aa.User = bb.User
GROUP BY aa.User
SORTIE
╔══════╦════════════╗
║ USER ║ TOTALCOUNT ║
╠══════╬════════════╣
║ Bob ║ 2 ║
║ John ║ 2 ║
║ Paul ║ 0 ║
╚══════╩════════════╝