В SQL, в чем разница между количеством (столбец) и количеством (*)? - PullRequest
195 голосов
/ 12 сентября 2008

У меня следующий запрос:

select column_name, count(column_name)
from table
group by column_name
having count(column_name) > 1;

Какая разница, если я заменил все звонки на count(column_name) на count(*)?

Этот вопрос был вдохновлен Как найти повторяющиеся значения в таблице в Oracle? .


Чтобы уточнить принятый ответ (и, возможно, мой вопрос), замена count(column_name) на count(*) вернет в результате дополнительную строку, содержащую null и количество null значений в столбце. 1017 *

Ответы [ 11 ]

0 голосов
/ 07 февраля 2011

Лучше всего использовать

Count(1) in place of column name or * 

для подсчета количества строк в таблице это быстрее, чем в любом формате, потому что никогда не проверяется, существует ли имя столбца в таблице или нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...