Если вы ищете строку «COUNT (*)», помните, что второй параметр - это шаблон, а не простая строка, вы можете экранировать строку, используя
Запретить магические символы регулярного выражения ^ $ ()%. [] * + -?)
Префикс каждого не алфавитно-цифрового символа (% W) с escape-символом%, где %% - escape-символ%, а% 1 - оригинальный символ
function strPlainText(strText)
return strText:gsub("(%W)","%%%1")
end
так
if string.match(string.upper(query), strPlainText('COUNT(*)')) then