Если запрос возвращает нужный вам набор результатов, с «полным» количеством строк (независимо от автора и псевдонима), с тем же точным значением для «count», повторяющимся в каждой строке, мы могли бы переписать запрос как это:
SELECT t.author
, t.alias
, s.count
FROM registry t
CROSS
JOIN (SELECT COUNT(*) AS `count`
FROM registry c
WHERE c.status='OK'
AND c.type='H1'
) s
WHERE t.status='OK'
AND t.type='H1'
Я не знаю, если это проще, а кому-то читал заявление, я думаю, что это делает его более ясным, что ResultSet возвращается.
(я также, как правило, в пользу избегая любого подзапроса в списке SELECT,, если нет особых причин, чтобы добавить один.)
результирующего из этого запроса является немного странным. Но при отсутствии каких-либо данных примера, ожидаемого вывода или каких-либо спецификаций, отличных от исходного запроса, мы просто догадываемся. Запрос в моем ответе реплицирует результаты исходного запроса таким образом, который более ясен.
Вы пытаетесь получить оценку по этим критериям от автора? Посмотрите на использование GROUP BY вместо подзапроса –
@ShadMickelberry: Думаю, он пытается вывести общее количество в каждой строке. – potashin