2 개의 테이블이 있습니다. 하나는 항목이고 다른 하나는 해당 항목에 대한 투표입니다. 내가 원하는 무엇mysql : 테이블을 INNER JOIN하는 방법이 가장 많은 투표 또는 개수로 1 개의 결과로 조인을 제한 하시겠습니까?
Items table has: |item_id|name|post_date
Votes table has: |votes_id|item_id|answer|total_yes|total_no
는 POST_DATE에 따라 모든 항목을 보여 가장 높은 total_yes로 투표 테이블에서 답을 표시입니다. 그래서 저는 가장 큰 total_yes 투표를 가진 투표 표에서 단 하나의 대답만을 보여주고 싶습니다.
SELECT a.*, b.* FROM Items a
INNER JOIN Votes b ON a.item_id = b.item_id
GROUP by a.item_id
ORDER by a.post_date DESC, b.total_yes DESC
을하지만 그 나던 작업 :
나는 노력했다. 내가보고 싶은
결과는 다음과 같습니다
<item><answer><yes votes>
Buick | Fastest | 2 yes votes
Mercedes | Shiny | 32 yes votes
Honda | Quick | 39 yes votes
어떤 도움에 감사드립니다!
najmeddine의 대답은 아주 가깝습니다. 그러나 문제는 항목에 투표가 없으면 표시되지 않는 것입니다. 내가하고 싶은 일은 모든 항목을 표시하는 것입니다 (투표 테이블에 투표가 없더라도). –