《SQL语言艺术(PDF格式)》第27章


在这个查询中,以下 having 的条件乍看起来相当合理: 
havingsum(amount)》0 
然而,如果 amount 只能是正数或零,这种 having 用法就不合理。最好改为: 
where amount 》0 
此例中,groupby的使用分两种情况。首先: 
select customer_id 
from orders 
where order_date 0 
groupbycustomer_id 
我们注意到,groupby对聚合计算是不必要的,可以用 distinct 取代它,并执行相同的排序和消 
除重复项目的工作: 
select distinct customer_id 
from orders 
where order_date 0 
把条件放在 where 子句中,能让多余的记录尽早被过滤掉,因而更高效。 
总结:聚合操作的数据应尽量少。 
………………………………………………………………………用户上传之内容结束……………………………………………………………………………………
小说推荐
返回首页返回目录