Вы бы запрос отформатировали поаккуратнее - читать неудобно
SELECT hy_content.seo,
hy_content.id,
hy_content.date,
hy_content.sham_photos,
hy_content.title
FROM hy_content
LEFT JOIN gl_views ON (hy_content.seo=gl_views.seo)
WHERE hide=2
AND hy_content.date > (NOW() - INTERVAL 1 DAY)
ORDER BY gl_views.read DESC
LIMIT 10
Запрос вполне нормальный, если вам нужно вывести именно новости,
опубликованные сегодня, которые больше всего посмотрели
(посмотрели за всё время, но т.к. всё время это и есть сегодня, то ок).
Если же нужно именно "самые
просматриваемые за сегодня новости, неважно когда опубликованные", то нужно структуру таблиц менять. Т.е. если новость вышла год назад, а на неё вдруг именно сегодня зашла толпа народу.