Re: [SQL ] MYSQL group by 的SQL語法問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章