我現在有一個表,看起來是這樣的:SUM(DISTINCT)基於其他列
+------+-------+------------+------------+
| id | rate | first_name | last_name |
+------+-------+------------+------------+
我需要做的就是速度列SUM
,但只有一次,每個名字。例如,我有三行John Doe名字,每行的速率爲8.我需要這些行的SUM
爲8,而不是24,因此它爲每組名稱計算一次速率。
SUM(DISTINCT last_name, first_name)
不會工作,當然,因爲我試圖總結費率列,而不是名稱。我知道在統計單個記錄時,我可以使用COUNT(DISTINCT last_name, first_name)
,這就是我想要從SUM
獲得的行爲類型。
我怎樣才能得到SUM
每個名字的一個費率?
在此先感謝!
現在,我很抱歉沒有在原始答案中提及這一點:那麼我怎麼能得到所有這些新的SUM的總和呢?我知道我可以在PHP中做到這一點,但是可以在該查詢中獲得結果的SUM? – David 2012-08-02 17:05:03
@David,請參閱我的編輯 – 2012-08-02 17:07:08
第二個查詢會產生沒有任何GROUP BY影響的SUM(rate),我不知道爲什麼。 – David 2012-08-02 17:13:41