0
죄송합니다.이 질문을받는다면 어쩌면 간단한 해결책이 있지만 3 일 동안 머리를 긁적이며 좋은 해결책을 찾을 수 없습니다.다른 테이블, MySql에 합류하여 현재 계급을 받으십시오.
두 테이블이 있는데, 하나는 "합계"를 정의하고 다른 하나는 "세부 사항"을 정의하는 테이블입니다.
Table_Totals
|item_id|user_rating| rating_count|
| 1 | 5.000| 5|
| 2 | 2.000| 3|
| 3 | 1.000| 5|
| 4 | 3.000| 2|
| 5 | 4.000| 8|
나는 쉽게 쿼리 ITEM_ID 각각의 "순위"얻을 수 있습니다 :
SELECT uo . * , (
SELECT COUNT(*)
FROM Table_Totals ui
WHERE (ui.user_rating, ui.item_id) >= (uo.user_rating, uo.item_id)
) AS rank
FROM Table_Totals uo
WHERE item_id = 3
그래서, 나는이 (세계 순위)를 얻을 :
|item_id|user_rating| rating_count|rank|
| 3 | 1.000| 5| 5|
을
이제이 테이블 (세부 정보를 정의 함)도 있습니다.
Table_Details
|item_id|category| players|
| 1 | arcade| 113|
| 2 | RPG| 31|
| 3 | arcade| 522|
| 4 | arcade| 100|
| 5 | MMORPG| 82|
내 질문
입니다 : 어떻게 분류하여 ITEM_ID의 순위를받을 수 있나요? 이 두 테이블을 결합하여 이와 같은 것을 얻을 수있는 방법은 무엇입니까? (명심하십시오 : item_id.Table_Totals = item_id.Table_Details).I.E. "아케이드 카테고리"순위 :
|item_id|category| rank|
| 1 | arcade| 1|
| 3 | arcade| 3|
| 4 | arcade| 2|
비슷한 것을 달성하는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다!