Re: [SQL ] 如何選出count(*)=1 的資料?

看板Database作者 (我要炸掉了)時間18年前 (2007/08/20 10:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/9 (看更多)
※ 引述《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
文章代碼(AID): #16oFVwYk (Database)
討論串 (同標題文章)
文章代碼(AID): #16oFVwYk (Database)