Group By:對數據進行分組,分組之後的數據就是“分組信息”,和原來表的信息,就沒有聯繫了,分組之後,可以取到分組數據,就是根據什麼欄位分組,就能取到欄位的名字了。還能使用聚合函數。Group By和Order By都是要放在Where語句之後,Group By和Order By都是對篩選後的數...
Group By:對數據進行分組,分組之後的數據就是“分組信息”,和原來表的信息,就沒有聯繫了,
分組之後,可以取到分組數據,就是根據什麼欄位分組,就能取到欄位的名字了。還能使用聚合函數。
Group By和Order By都是要放在Where語句之後,Group By和Order By都是對篩選後的數據進行處理,而Where是用來篩選數據的。
沒有出現在Group By子句中的列,是不能放到Select語句後的列名列表中的『聚合函數中除外』
易錯點:
SELECT * FROM dbo.Orders GROUP BY ShipCity--這句SQL是錯誤的,執行報錯
SELECT * FROM dbo.Orders ORDER BY ShipCity --這句SQL是正確的。
SELECT ShipCountry FROM dbo.Orders ORDER BY ShipCity--這句SQL是正確的
SELECT ShipCountry FROM dbo.Orders GROUP BY ShipCity--這句SQL是錯誤的
SELECT COUNT(ShipCountry) FROM dbo.Orders GROUP BY ShipCity--這句SQL是正確的
SELECT CompanyName, COUNT(CompanyName) FROM dbo.Shippers GROUP BY CompanyName--是正確的