2014-02-12 2 views
3

SELECT 쿼리 자체에서 MySQL 쿼리의 윈도우 함수를 동적으로 사용할 수 있습니까? (나는 PostgreSQL에서 가능하다는 사실을 알고있다).MySQL 쿼리의 윈도우 함수

그러나
SELECT c_server_ip, c_client_ip, sum(a_num_bytes_sent) OVER 
    (PARTITION BY c_server_ip) FROM network_table; 

이 무엇 MySQL의에서 해당 쿼리 다음과 같습니다

예를 들어, 여기에 해당하는 PostgreSQL의 쿼리는? 이 작업을 할 수

+0

재미! –

+0

MySQL은 윈도우 함수를 지원하지 않습니다. 아래 또는 mysql 변수와 같은 서브 쿼리를 사용하십시오. –

+0

이들은 "파티션"이 아닙니다. "파티션 나누기"개념은 (파티션) 키를 기반으로 하드 디스크의 다른 영역에 테이블 행을 물리적으로 * 저장하는 것을 의미합니다. 당신이 찾고있는 것은 "윈도우 함수"라고 불리며, MySQL은 이것을 (그리고 다른 많은 최신 SQL 기능들) –

답변

2

희망 :

select A.c_server_ip, A.c_client_ip, B.mySum 
from network_table A, (
    select c_server_ip, sum(a_num_bytes_sent) as mySum 
    from network_table group by c_server_ip 
) as B 
where A.c_server_ip=B.c_server_ip;