Чтобы убедиться, что все строки из одного столбца, выполните:
SELECT * FROM table1 t1
LEFT JOIN table1 t2 ON ((t1.messageread, t1.id) < (t2.messageread, t2.id))
WHERE T2.ID IS NULL
Это выберет минимальную или максимальную строку из таблицы1. И все столбцы будут из одной строки.
Если это не сработает, вам нужно изменить <
на >
, здесь поздно, и я не могу проверить запрос, но он должен выполнить свою работу.
Предупреждение, антипаттерн впереди
По всему этому пахнет тухлыми яйцами, но если вы хотите быстро смешать и сочетать, сделайте:
SELECT id, min(messageread), timestamp as random_timestamp
FROM table1
GROUP BY id