'현재'와 같은 항목을 찾는 방법에 대한 일반적인 조언을 찾고 있습니다. 나는 모든이 사람에서, 현재의 공통점 장르가 게임을 찾는 것에 대해 갈 수있는 방법'like'this this one
games
-game_id
genres
-genre_id
genres_data
-game_id
-genre_id
: 내 현재의 예에서
그래서 (생략 관련이없는 데이터)와 같은 세 개의 테이블을 가지고 동일한 장르는 게임에서 주어진 행과 함께 하나의 공통점 (단지 몇 행에 제한됨)을 갖는 것까지 내림차순입니까?
좋아하는 아이템을 찾는 방법은 무엇입니까?
SELECT game_id, COUNT(genre_id) AS genres_in_common
FROM genres_data
WHERE
genre_id IN
(
SELECT genre_id
FROM genres_data
WHERE game_id = <game you're searching with>
)
AND
game_id != <game you're searching with>
GROUP BY game_id
ORDER BY genres_in_common DESC
;
하위 쿼리는 게임과 관련된 모든 genre_id
의 목록을 잡고, 메인 쿼리는 그들 중 하나가 일치하는 모든 레코드를 genres_data
를 검색하는 것을 사용
죄송합니다. 저는 오랫동안이 문제에 답변했습니다. 이 대답을 올리려고 할 때와 마찬가지로 StackOverflow가 유지 관리를 위해 중단되었습니다. – AgentConundrum
내가 게시 한 직후에 내려 갔다. 나중에 보러 갔다. 사라졌다. 덕분에 이것은 좋은 출발점입니다, 나는 이런 종류의 일에 대해 어떻게 해야할지 확신하지 못했습니다. –