※ 引述《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