2011-03-28 43 views
2

對於我表中的每個名稱,我想總結每個名稱旁邊出現的每個名稱的數量。需要幫助提出查詢

列名au_fname,au_lname和數量

下面是表的樣子

Johnson   White   5    
Marjorie  Green   5    
Cheryl   Carson   5    
Michael   O'Leary   5    
Dean   Straight  5    
Meander   Smith   5    
Abraham   Bennet   5    
Ann    Dull   5    
Burt   Gringlesby  5    
Charlene  Locksley  5    
Morningstar  Greene   5    
Reginald  Blotchet-Halls 5    
Akiko   Yokomoto  5    
Innes   del Castillo 5    
Michel   DeFrance  5    
Dirk   Stringer  5    
Stearns   MacFeather  5    
Livia   Karsen   5    
Sylvia   Panteley  5    
Sheryl   Hunter   5    

有些名字重複多次。

+0

$ 1,000,000個問題:你有沒有試着寫在你自己的? – Snowbear 2011-03-28 21:44:54

+0

是的,但我需要幫助提出一些邏輯,我只寫了選擇部分雖然 – 2011-03-28 21:46:16

+0

是不是所有的名字都一樣?在這種情況下,答案是5. – amelvin 2011-03-28 21:47:31

回答

4

基本上你需要通過au_fname和au_lname進行分組,然後使用SUM(qty)聚合來得到你的答案。以下是你將如何做到這一點。

SELECT 
    au_fname, 
    au_lname 
    SUM(qty) 
FROM yourTableName 
GROUP BY 
    au_fname, 
    au_lname 
0

如果有兩個人叫John Smith,是否有personID

如果沒有,你可以使用

Select au_fname, au_lname, sum(qty) as sum_qty 
from table 
group by au_fname, au_lname 

真是太糟糕了,不是PERSONID,但是你用你所擁有的。

更好一點應該是:

Select au_lname + ', ' + au_fname 
+0

它假設如果名字重複,然後他們是同一個人。 – 2011-03-28 21:50:27