我有節點喜歡的一個表,它看起來大致是這樣的:按分組列排序?
lid nid uid type
1 23 3 like
2 23 1 like
3 49 3 dislike
4 11 6 like
蓋此表=唯一的ID,NID =「節點」(內容)的ID,UID =用戶ID和類型是自解釋的。
與此查詢:
SELECT nid, COUNT(lid) AS score, type
FROM node_likes
INNER JOIN users ON node_likes.uid = users.uid
GROUP BY nid, type
我可以得到它就像每個節點和不喜歡的分數。內部連接無關緊要;一些(dis)喜歡來自不再存在的用戶,並且聯合會消除它們。
結果看起來是這樣的:
nid score type
307 4 like
307 1 dislike
404 24 like
我怎麼能那麼子組此查詢type
,並返回得分最高的節點ID爲每一個「喜歡」型(喜歡/不喜歡)?
即,
nid score type
404 24 like
307 1 dislike
ORDER BY DESC分給你頂NID的。我不確定你的分組是什麼意思... – Vatev 2012-07-24 17:42:27
ORDER BY得分DESC將返回最高得分,不論其類型如何。我希望它能夠返回每種類型的最高分數。 – felamaslen 2012-07-24 17:43:25
混淆,不應該爲喜歡/不喜歡的最高分進入nid = 404? – ajreal 2012-07-24 17:52:09