需要帮助提出查询

问题描述:

对于我表中的每个名称,我想总结每个名称旁边出现的每个名称的数量。需要帮助提出查询

列名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

基本上你需要通过au_fname和au_lname进行分组,然后使用SUM(qty)聚合来得到你的答案。以下是你将如何做到这一点。

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

如果有两个人叫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