I는 다음과 같이 크게 보이는 노드 좋아의 테이블이이 테이블 = 고유 ID그룹화 된 열로 그룹화 하시겠습니까?
lid nid uid type
1 23 3 like
2 23 1 like
3 49 3 dislike
4 11 6 like
뚜껑, 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
나는 그것 등으로 각 노드를 얻고 점수를 싫어하는 수 있습니다. 내부 조인은 부적합합니다. 일부 사용자는 더 이상 존재하지 않는 사용자로부터 좋아하고 참여를 제거합니다.
결과는 다음과 같습니다
nid score type
307 4 like
307 1 dislike
404 24 like
어떻게 다음 하위 그룹이 type
별 검색어, 각 "와 같은"유형 (같은/싫어하는)의 최고 득점 노드 ID를 반환 할 수 있습니다?
e.
nid score type
404 24 like
307 1 dislike
ORDER는 당신에게 최고 꾸벅 꾸벅의를 제공 할 것입니다. 하위 그룹별로 무엇을 의미하는지 모르겠습니다 ... – Vatev
ORDER BY 점수 DESC는 유형에 관계없이 가장 높은 점수를 반환합니다. 각 유형별로 가장 높은 점수를 반환하고 싶습니다. – felamaslen
혼란 스럽지만, 싫어하는 부분에 대한 최고 점수가 nid = 404로되어서는 안됩니까? – ajreal