我有一個帶有長度字段的音樂曲目表,它存儲關於每個單獨曲目多長時間的信息。我試圖查詢數據庫以找出最大麴目長度,最小曲目長度,並且我想要返回列出長度(IS NOT NULL)的曲目數量。當COUNT函數使用IS NOT NULL時得到不正確的結果 - MySQL
以下是該語句:
SELECT MAX(length), MIN(length), COUNT(length)
FROM tracks WHERE length IS NOT NULL;
的問題是值COUNT()返回的是完全相同的我是否包括未在年底或NOT NULL操作。該表大約有25個條目是NULL,所以當我將NOT NULL運算符添加到語句的末尾時,我肯定應該爲COUNT()獲得更低的結果?
這是正確的。如果要計算* WHERE *所匹配的所有行,請使用COUNT(*)或COUNT(1)(它們相同)。如果你想對col1不爲null的行進行計數,這正是'COUNT(col1)'所做的。 –