|
提示: 作者被禁止或删除, 无法发言
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册
x
原来用这个GROUP BY稀里糊涂的,最近用的稍微多了一点,总结出来一点土道理,分享一下,大家看看对不对。
SELECT
【分组字段1】,【分组字段2】, ... ,【分组字段N】,
【聚合字段1】,【聚合字段1】, ... ,【聚合字段1】
FROM 表名
GROUP BY
【分组字段1】,【分组字段2】, ... ,【分组字段N】
表内的字段分成两组,一组是需要进行分组的字段,从左到有,越分越细。
剩下的字段就是对最小组的数据进行聚合,也就是使用聚合函数,可以是 COUNT, SUM, AVG 等等
SELECT 后面跟的 分组字段 一定要和 GROUP BY 后边跟的 分组字段 保持一致。
修正,上面这句话是错的,不一致没问题。比如:
select Count(*), ShipCity, ShipCountry, COUNT(*)
from Orders
group by ShipCountry, ShipCity
这句运行通过了,其实只要前面SELECT部分的字段一定要包含后边GROUP BY所指明的所有字段就好。
[ 本帖最后由 xblues 于 7-7-2010 22:13 编辑 ] |
|