To return just a single copy of each "duplicate", then:
SELECT t.uid
, t.value
FROM mytable t
GROUP
BY t.uid
, t.value
HAVING COUNT(1) > 1
ORDER
BY t.uid
, t.value
To return "all" entries that are duplicates, rather than just one copy, and if you don't need to return any NULL values, then:
SELECT a.uid
, a.value
FROM mytable a
JOIN ( SELECT t.uid
, t.value
FROM mytable t
GROUP
BY t.uid
, t.value
HAVING COUNT(1) > 1
) d
ON d.uid = a.uid
AND d.value = a.value
ORDER
BY a.uid
, a.value
If you do want to return NULL (where the NULL is a duplicate), then change the comparison operators in the ON clause to the null-safe equality comparison: <=>
ON d.uid <=> a.uid
AND d.value <=> a.value