作者ClareQ (人比人Cheese人)
看板Database
标题Re: [SQL ] 如何选出count(*)=1 的资料?
时间Sat Aug 18 01:56:44 2007
※ 引述《misssun (我要炸掉了)》之铭言:
: SELECT distinct a.日期,
: a..CUSTOMERID,
: a..AGENTID
: FROM AA a
: WHERE a.customerid in
: (select b.customerid
: from AA b
: where (日期区间)
: group by customerid
: having count(*) = 1)
: AND (日期区间) --这边不+日期条件的话,最後的结果会有误喔~~
看了你最终的SQL语法,
还是觉得不需要使用IN的子查询,
因为在以customerid分群,count(*)=1的情况,
日期和agentid也只会有一笔资料,
故可以用MAX()或MIN()等聚合函数一起选取,
其结果并不会有差别,如下:
SELECT
CUSTOMERID,MAX(AGENTID),MAX(日期)
FROM AA
WHERE (日期区间)
GROUP BY CUSTOMERID
HAVING COUNT(*)=1;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.73.219