Re: [SQL ] 交集問題

看板Database作者 (Daniel Guo)時間14年前 (2011/10/31 03:10), 編輯推噓4(401)
留言5則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《odj (***ˋ( ̄  ̄)》之銘言: : 最近在寫一個交集的語法,覺得自己寫的不是很好,因此想請教一下是否有更好的寫法 : 我有一個資料表(table1)如下: : id w_id server : 1 3 A : 2 3 B : 3 4 B : 4 5 B : 5 3 C : 6 4 C : 7 5 C : 今天我想取得的是ABC三台server共有的w_id值,以上表來說,就是3 計算每個 w_id 有幾個 server (假設 (w_id, server) 會重複, 不重複用 COUNT(*) 便可) SELECT `w_id`, COUNT(DISTINCT `server`) AS `count` FROM `table1` WHERE `server` IN ('A', 'B', 'C') GROUP BY `w_id` HAVING `count` = 3; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 24.19.233.135

10/31 08:12, , 1F
可能我表達的不好讓你誤會了 我不是要W_ID值有幾個SERVER
10/31 08:12, 1F

10/31 08:14, , 2F
而是像A有的w_id值是3 B有3,4,5 C有3,4,5 那ABC三者都有的
10/31 08:14, 2F

10/31 08:18, , 3F
的w_id值就是3 我想要抓出的是這個值
10/31 08:18, 3F

10/31 08:22, , 4F
抱歉了 還是感謝你的幫忙
10/31 08:22, 4F

10/31 23:08, , 5F
推 d 大解法
10/31 23:08, 5F
文章代碼(AID): #1EhQ4_UK (Database)
文章代碼(AID): #1EhQ4_UK (Database)