討論串[SQL ] 如何選出count(*)=1 的資料?
共 9 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者flakchen (flak)時間18年前 (2007/08/20 11:36), 編輯資訊
0
0
0
內容預覽:
要注意 MAX(AGENTID),MAX(日期) 可能不是出現在同一行資料. 也就是 MAX(日期) 出現的資料行,並不是對應到MAX(AGENTID). 如果查詢不能忍受這個錯誤的話,還是用IN比較正確. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 203.70.51.2

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者misssun (我要炸掉了)時間18年前 (2007/08/20 10:10), 編輯資訊
0
0
0
內容預覽:
其實之前也有想過用這種方法,但是有同事跟我說這是偷吃步~. 不太正規,所以我就沒有寫來run看看~. 但是看到ClareQ大大也推薦用這種加函數法去run,我就來試看看囉~. 結果搜尋出來的資料果然跟用in是一樣的,. 速度還比較快呢! 真是厲害!! 3Q3Q囉~~~. --. 發信站: 批踢踢

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ClareQ (人比人Cheese人)時間18年前 (2007/08/18 01:56), 編輯資訊
0
0
0
內容預覽:
看了你最終的SQL語法,. 還是覺得不需要使用IN的子查詢,. 因為在以customerid分群,count(*)=1的情況,. 日期和agentid也只會有一筆資料,. 故可以用MAX()或MIN()等聚合函數一起選取,. 其結果並不會有差別,如下:. SELECT. CUSTOMERID,MAX

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者misssun (我要炸掉了)時間18年前 (2007/08/17 16:25), 編輯資訊
0
0
0
內容預覽:
謝謝各位大大的回答~~. 我來整理一下最後的結果. 因為我需要的欄位有 日期跟 AGAINID 還有customerid,. 因此其實customerid會有重複的時候,不同日期下,. customerid所對應的againid可能跟前一天一樣也可能不一樣,. 所以ClareQ大大的語法其實跟我寫的
(還有280個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ClareQ (人比人Cheese人)時間18年前 (2007/08/17 01:22), 編輯資訊
0
0
0
內容預覽:
你要的資料應該是這樣吧?. 選出在特定時間區間中,. CUSTOMERID不重複出現的資料:. SELECT CUSTOMERID,COUNT(*). FROM AA. WHERE (時間區間). GROUP BY CUSTOMERID. HAVING COUNT(*)=1;. --. 發信站:
首頁
上一頁
1
2
下一頁
尾頁