2012-04-02 62 views
0

我有以下數據集如何使用組BY和HAVING一起

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 

我想要一個單元的每個名稱最大日期的總和。像follwing

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

我嘗試以下,但它不工作

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

GROUP BY name; 
+0

這裏 '日期' 是SQL關鍵字,因此將不會使用它作爲字段名稱。更改並重試 – Ben 2012-04-02 13:26:55

+0

'artist_name'不在您定義的數據集中。 – RedFilter 2012-04-02 13:27:13

+0

@ ben,@ RedFilter: - 它只是一個錯字.....我編輯它雖然 – Salil 2012-04-02 13:34:33

回答

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 2012-04-02 13:59:52

+0

我對artist_name ='Pacer1'充滿懷疑你爲什麼在你的帖子中用你的查詢嗎?可能是由於它給出了單一名稱。如果不需要,請將其刪除 – 2012-04-02 14:50:58