Re: [SQL ] MYSQL group by 的SQL語法問題

看板Database (資料庫)作者 (總是不知所措)時間17年前 (2008/08/26 01:18), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《visualPHP (brain)》之銘言: : 我有一張表要JOIN 另外一張表 2次 : 表一 profiles ( id , name , address ) : 表二 friend ( fid , id , id2 , type ) : profiles = 個人資料 : friend = 朋友關係 : profiles.id 對應 friend.id : 也對應 friend.id2 : id 是 id2 的 type 關係 : friend 的type enum( '好友名單' , '黑名單' ) : 我的目的是想要 計算出 profiles的某的人的人氣 : 當有一個人家他好友 人氣就+1 一個人加他黑名單 人氣就-1 : 但是問題出現了 連續 join 兩次 friend as f1 , friend as f2 : 設定 group by f1.type 也不對 設定 group by f2.type也部隊 : 也不能設定 group by f1.type , f2.type : 這可能是我觀念有點不清楚 : 拜託高手給一點提示 v大似乎把自己的問題複雜化了, (如果誤會v大的問題, 請告知, 會自D) 如果只是想要知道人氣, 只要管 friend table 的 id2 就好了. 試試以下: (IF 指令請依自己的SQL系統更改=> DECODE or CASE) SELECT p.name,SUM(IF(type='好友名單',1,-1)) popular FROM friend f LEFT JOIN profiles p ON f.id2 = p.id GROUP BY p.name ORDER BY popular DESC -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.190.50

08/26 19:21, , 1F
解法真屌耶~~~太好了
08/26 19:21, 1F
文章代碼(AID): #18ikbZjq (Database)
討論串 (同標題文章)
文章代碼(AID): #18ikbZjq (Database)