作者foxzgerald (O⊥M)
看板Database
标题Re: [SQL ] MySQL可以一次选取特定范围吗?
时间Sun Sep 3 04:18:02 2006
作者: foxzgerald (O⊥M) 看板: Database
标题: Re: [SQL ] MySQL可以一次选取特定范围吗?
时间: Sun Sep 3 04:11:12 2006
※ 引述《foxzgerald (O⊥M)》之铭言:
: 既然已经排序过了,如果把电话号码当数字来想,应该会比较简单:
: SELECT phone_number as p
: FROM _table_name_
: GROUP BY phone_number
: WHERE p >= 239939889 LIMIT 5
1F:推 noguest:要稍微修正一下, 把 WHERE 改成 HAVING 09/03 03:08
嗯..
参考 noguest 的意见.修正一下我之前的文章
如果不用 Group by 的话,单以
SELECT phone_number as p
FROM _table_name_
WHERE p >= 239939889 LIMIT 5 在查询效率上会高一点
然而若需用 Group by 和 Having 那麽也尽可能先以 Where 滤掉多余的资料。
主因是 Having 的查询效率要比 Where 差;
先以 Where 排除掉、再让 Having 滤掉剩下的多於资料,这样整体效率会高一点
另外,由於原始资料已排序过,若单纯只选择电话号码一栏,
应该是不需用到我先前的 Group By :P
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.199.121
2F:推 noguest:不好意思没说清楚, 我只是想指出GROUP BY後面只能接HAVING 09/03 06:39
3F:→ noguest:不能接 WHERE. 若用 WHERE 要放在 GROUP BY 之前. 09/03 06:45