2008-10-04 47 views
4

我完全陌生的SQL。我有一個類似的簡單選擇查詢:沒有得到正確的計數在SQL

SELECT COUNT(col1) FROM table1 

有一些120表中的記錄,並在GUI所示。 由於某種原因,此查詢總是返回一個小於實際計數的數字。

有人可以幫我嗎?

回答

13

你可能在COL1列一些空值。聚合函數忽略空值。 試試這個

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

嘗試

select count(*) from table1 

編輯:爲了進一步解釋,count(*)給你的行數爲一個表,包括重複和空值。 count(isnull(col1,0))會做同樣的事情,但稍微慢,因爲isnull必須爲每一行進行評估。

1

稍微切,但也有有用

SELECT count(distinct cola) from table1 

它給你不同的列數在表中。