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