sql aggregations(數據聚合)

注意,空值與零不同——它們是不存在數據的單元格。
在WHERE子句中標識空值時,我們寫IS NULL或IS NOT NULL。我們不使用=,因爲在SQL中NULL不被視爲值。相反,它是數據的屬性。

WHERE id = NULL (This is wrong syntax)
WHERE id IS NULL  
WHERE id IS NOT NULL

nulls
有兩種常見的方法可能會遇到空值:
執行左或右聯接時經常出現空值。您在sql join中看到——當左聯接的左表中的某些行與右表中的行不匹配時,這些行將在結果集中包含一些空值。
空值也可能出現在數據庫中丟失的數據中。

COUNT the Number of Rows in a Table

SELECT COUNT(*)//返回庫的行數
FROM accounts;//accounts是我的一個數據庫名字
SELECT COUNT(id)//可以返回id這個列中非NULL的個數
FROM accounts;

ps:COUNT計算的是非空值的數量,可以是文本,有文本+1,爲NULL不增加不減小,而AVERAGE(),SUM()等聚合函數只能操作的是數值,SUM將忽略空值NULL,若爲NULL,計算時當做0來計算。

SELECT SUM(standard_qty)
FROM orders;//計算orders庫中standard_qty這一列中的數據總和

聚合的提醒
需要記住的重要一點是:聚合器只垂直聚合—列的值。如果希望跨行執行計算,可以使用簡單的算術方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章