Вы не можете использовать аргументы multiply в COUNT. В вашем случае вы просите дать вам счет a.col1, a.col2, a.col3 ... COUNT ожидает всего 1 аргумент. Единственным исключением является *, в этом случае он понимает, что он должен рассчитать все записи из таблицы.
Если вы хотите рассчитать все записи из a, тогда сделайте что-то вроде COUNT (a.id) - где id не является нулевым столбцом. Если вы хотите рассчитать уникальные записи таблицы, тогда сделайте COUNT (отличное a.id).
Если вы хотите рассчитать все записи из таблиц a и b, вы можете сделать COUNT (a.id) как количествоOfAtable, COUNT (b.id) как количествоOfBtable. Или вы можете суммировать их COUNT (a.id) + COUNT (b.id).
Еще одна вещь, о которой вам нужно знать о COUNT, что она подсчитывает только строки NOT NULL. Итак, если вы используете LEFT JOIN или столбец, который может быть NULL, тогда он просто вычислит количество записей, в которых этот столбец NOT NULL. Конечно, вы можете использовать DISTINCT для расчета уникальных записей.
COUNT (*) будет делать хорошо здесь! Или, может быть, count (a.columnname). – jarlh
должен был сделать мой вопрос более ясным, у меня есть куча таблиц для выбора. обновляя мой вопрос, чтобы показать это ... – rstruck
Да, это просто не работает. Пожалуйста, объясните, какой результат вы пытаетесь получить. Примерная таблица результатов будет полезна. – Russ