A sintaxe
select . . . for update
bloqueia registros em uma tabela para se preparar para uma atualização. Quando você faz uma agregação, o conjunto de resultados não se refere mais às linhas originais. Em outras palavras, não há registros no banco de dados para atualizar. Há apenas um conjunto de resultados temporário.