2012-09-13 43 views
0

我需要建立一個超出我的編程能力的SQL查詢。 好吧,這裏是我的要求:建立一個SQL查詢 - 返回一些行,有些不是

比方說,我有一個表,有:身份證,USER_ID電子郵件列。此查詢,應該SELECT user_id只有一次!如果我一次匹配了user_id,查詢應該繼續,但是如果在另一行中再次匹配相同的user_id,我們應該跳過它。

這裏談到的主要問題...

想象我們抓住USER_ID一次,跳過與user_id的所有相同的其他行,現在我需要總和所有從列內容相同的user_id。

我覺得我這個複雜一點,我會盡量說明我的問題:

illustration of my problem

這個問題如果通過SQL不是唯一可解,那麼PHP的答案將工作太。

我試圖創建一個用戶列表(沒有重複的用戶),並添加他們支付的金額。

根據圖像,user_id說明支付90.00(12 + 45 + 33)

誰能告訴我一個方法如何實現這一目標?

回答

4

假設表的名稱是users

SELECT user_id, email, SUM(amount) FROM users GROUP BY user_id 
+1

如果你要選擇「電子郵件」你的話是要組太... –

+0

你需要命名的總和(金額),只是好奇? 選擇user_id,作爲來自用戶組的user_id的總金額(金額); – Brant

+0

@lc,我想我假設電子郵件列是唯一的每個user_id。 – ggreiner