按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
在这个查询中,以下 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 子句中,能让多余的记录尽早被过滤掉,因而更高效。
总结:聚合操作的数据应尽量少。
………………………………………………………………………用户上传之内容结束……………………………………………………………………………………