作者misssun (我要炸掉了)
看板Database
标题Re: [SQL ] 如何选出count(*)=1 的资料?
时间Mon Aug 20 10:10:01 2007
※ 引述《ClareQ (人比人Cheese人)》之铭言:
: 看了你最终的SQL语法,
: 还是觉得不需要使用IN的子查询,
: 因为在以customerid分群,count(*)=1的情况,
: 日期和agentid也只会有一笔资料,
: 故可以用MAX()或MIN()等聚合函数一起选取,
: 其结果并不会有差别,如下:
: SELECT
: CUSTOMERID,MAX(AGENTID),MAX(日期)
: FROM AA
: WHERE (日期区间)
: GROUP BY CUSTOMERID
: HAVING COUNT(*)=1;
其实之前也有想过用这种方法,但是有同事跟我说这是偷吃步~
不太正规,所以我就没有写来run看看~
但是看到ClareQ大大也推荐用这种加函数法去run,我就来试看看罗~
结果搜寻出来的资料果然跟用in是一样的,
速度还比较快呢! 真是厉害!! 3Q3Q罗~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.202.218.61