Вы бы запрос отформатировали поаккуратнее - читать неудобно
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
Запрос вполне нормальный, если вам нужно вывести именно новости, 
опубликованные сегодня, которые больше всего посмотрели 
(посмотрели за всё время, но т.к. всё время это и есть сегодня, то ок).
Если же нужно именно "самые 
просматриваемые за сегодня новости, неважно когда опубликованные", то нужно структуру таблиц менять. Т.е. если новость вышла год назад, а на неё вдруг именно сегодня зашла толпа народу.