2012-04-02 3 views
0

를 한 데 나는 각 이름의 최대 날짜에 대한 장치의 SUM을 원하는어떻게 그룹으로 사용하기 내가 데이터를 다음과 같이

id name units release_date 
1 salil 1 2012-04-02 
2 salil 2 2012-03-21 
3 salil 3 2012-04-02 
4 salil 4 2012-03-02 
5 salil 5 2012-04-02 
6 xyz  1 2012-04-01 
7 xyz  2 2012-03-30 
8 xyz  3 2012-03-30 
9 xyz  4 2012-04-01 

설정합니다.

name units  Max(release_date) 
salil 9   2012-04-02 
xyz 5   2012-04-01 

를 follwing을 같은 나는 다음과 같은 시도하지만 다음 시도

SELECT name, MAX(release_date) as date, sum(units) as units FROM reports 

GROUP BY name; 
+0

'날짜를'SQL의 키워드, 그래서 그것을 사용하지 않습니다 필드 이름으로. 변경하고 다시 시도하십시오. – Ben

+0

'artist_name'이 (가) 정의 된 데이터 세트에 없습니다. – RedFilter

+0

@ ben, @ RedFilter : - 단지 오타입니다. ..... 편집했습니다. – Salil

답변

0

을 작동하지 않습니다 :

여기
SELECT name, sum(units) as units 
    FROM reports as r 
    LEFT JOIN (select max(date) as maxdate from reports group by name) as mr 
    ON r.date=mr.maxdate 
    WHERE artist_name='Pacer1' GROUP BY name; 
+0

이것은 하나의 레코드만을 제공하고있다. 나는 모든 이름을 원한다. – Salil

+0

나는 artist_name = 'Pacer1'에 대해 왜 의심 스럽다. 귀하의 게시물에서 귀하의 검색어에 이것을 사용하셨습니까? 이것은 단일 이름을 부여하기 때문일 수 있습니다. 필요 없으면 제거하십시오. –

관련 문제