나는 스레드가 있고 다른 사용자가 3 가지 유형의 영화를 평가합니다. 나는 평균을 얻고 싶은 내 쿼리의 결과로다른 유형의 평점에 대한 SQL 계산 평균
| ID | thread_id | user_id | type | value
| 12 | 22 | 2 | 'movie.imdb' | 8.5
| 23 | 22 | 4 | 'movie.imdb' | 7.5
| 42 | 22 | 5 | 'movie.story' | 8.5
| 56 | 22 | 6 | 'movie.quality' | 8.5
| 76 | 22 | 6 | 'movie.imdb' | 7.53
:
는movie.quality, movie.story and movie.imdb
때문에 등급 테이블의 구조는 다음과 같습니다 = 내가 스레드 (22), 및 다른 유형을 말해봐 프로 ID 및 유형과 비슷 함
array(thread_id=22 => array(
type=>movie.imdb => average=>8.2),
type=>movie.story => average=>8.8),
type=>movie.quality => average=>8.1))
어떻게이 쿼리를 구성 할 수 있습니까?
select `type`, avg(`value`)
from ratings
where `thread_id` = 22
group by `type`
SELECT 스레드, 유형, 평균 (VALUE), 개수 (*) 평가에서 어디 스레드 = 25 GROUP BY 스레드, TYPE, charme, 감사처럼 작동합니다. – Confidence