DISTINCT关键字所实现的功能其实就是对指定查询字段的一次GROUP BY,从本质上来说,DISTINCT就是一个全字段的GROUP BY。例如,代码清单3-6和代码清单3-7中所示的两条语句,其最终返回的结果是一样的。
代码清单3-6 DISTINCT子句 SELECT DISTINCT sod.ProductID, sod.UnitPriceDiscount FROM Sales.SalesOrderDetail AS sod 代码清单3-7 GROUP BY子句 SELECT sod.ProductID, sod.UnitPriceDiscount FROM Sales.SalesOrderDetail AS sod GROUP BY sod.ProductID,sod.UnitPriceDiscount
上面两个清单,一个使用DISTINCT关键字,一个使用GROUP BY关键字进行全字段分组,其最终达到的效果是一样的。