This would make your query valid. HOWEVER I really don't believe this is what you are looking for:
SELECT
DATEDIFF(minute, CURRENT_TIMESTAMP, t.xxxxxx) AS daydifference
FROM
(SELECT MAX(autoid) autoid, xxxxxx
FROM Xtable
WHERE uid = 3
GROUP BY xxxxxx
) t;
Note: You need group by the columns you select, when using an aggregate function. Columns need to be named in subselects.
Not 100 % sure what you are asking. But this is what I believe you need:
SELECT TOP 1
DATEDIFF(minute, 0, CURRENT_TIMESTAMP - xxxxxx) improvedminutedifference,
DATEDIFF(minute, xxxxxx, CURRENT_TIMESTAMP) minutedifference
FROM
WHERE uid = 3
ORDER BY autoid DESC