2008-10-04 3 views
4

Я совершенно не знаком с SQL. У меня есть простой запрос на выборку, похожее на это:Не получается правильный счет в SQL

SELECT COUNT(col1) FROM table1 

Есть некоторые 120 записей в таблице и показаны на GUI. По какой-то причине этот запрос всегда возвращает число, которое меньше фактического счета.

Может кто-нибудь, пожалуйста, помогите мне?

ответ

13

Возможно, в столбце col1 могут быть некоторые значения null. Совокупные функции игнорируют нули. попробовать это

SELECT COUNT(ISNULL(col1,0)) FROM table1 
17

Попробуйте

select count(*) from table1 

Edit: Чтобы объяснить далее, count(*) дает сверку за стол, в том числе дубликатов и нулей. count(isnull(col1,0)) будет делать то же самое, но немного медленнее, так как isnull должен оцениваться для каждой строки.

1

Слегка тангенциальный, но есть также полезный

SELECT count(distinct cola) from table1 

, который дает вам число различных колонок в таблице.

Смежные вопросы